/// export type { UtilinentRegister } from "./register"; export interface Fallback { fallback?: React.ReactNode; } export type NonNullableElements = { -readonly [P in keyof T]: NonNullable; }; export type ExtractValues = T extends any ? T[K] : never; type IsUnion = T extends any ? [U] extends [T] ? false : true : false; export type ExtractByKeyValue = T extends any ? IsUnion extends true ? T[K] extends V ? T : never : V extends T[K] ? T : never : never; export type GetLiteralKeys = { [K in keyof T]: T[K] extends string ? string extends T[K] ? never : K : T[K] extends number ? number extends T[K] ? never : K : T[K] extends boolean ? boolean extends T[K] ? never : K : T[K] extends bigint ? bigint extends T[K] ? never : K : T[K] extends symbol ? symbol extends T[K] ? never : K : never; }[keyof T]; export type LiteralKeys = [GetLiteralKeys] extends [never] ? keyof T : GetLiteralKeys;