export type Nullable = T | undefined; export interface Morphism { (value: T): U; } export type Primitive = string | number | boolean | symbol | bigint | null | undefined; export interface ToString { toString(): string; } export declare function isObject(value: any): value is object; export declare function isPlainObject(value: any): value is object; export declare function isFunction(value: any): value is Function; export declare function isIterable(value: any): value is Iterable; export declare function isString(value: any): value is string; export declare function isNumber(value: any): value is number; export type Constructor = new (...args: any[]) => T; export declare class IterResult { static Next(value: T): IteratorResult; static Done(): IteratorResult; } export declare function Null(...args: any): null; export declare const PrimitivePrototype: Readonly<{ readonly undefined: typeof Null; readonly boolean: BooleanConstructor; readonly number: NumberConstructor; readonly bigint: BigIntConstructor; readonly string: StringConstructor; readonly symbol: SymbolConstructor; readonly object: ObjectConstructor; readonly function: FunctionConstructor; }>; export declare function type(value: any): Function | ObjectConstructor | SymbolConstructor | ArrayConstructor | BooleanConstructor | NumberConstructor | BigIntConstructor | StringConstructor | FunctionConstructor;