type Primitive = 'string' | 'number' | 'bigint' | 'boolean' | 'symbol' | 'undefined' | 'object' | 'function'; export type Flatten = { [K in keyof T]: T[K]; } & {}; export type DeepReadonly = T extends readonly (infer U)[] ? readonly DeepReadonly[] : T extends object ? { readonly [K in keyof T]: DeepReadonly; } : T; export declare function _typeOf(input: unknown): Primitive | 'array'; export declare function _isTypeMatch(a: unknown, b: unknown): a is T; export {};