useState<number>(() => 18);
useState<number>(() => 'string'); // TS2345: Argument of type '() => string' is not assignable to parameter of type 'number | (() => number)'.
useState<number>(Object); // Ошибка проигнорирована, как и в примере в вопросе
useState<number>(() => ({}) as any);