export declare type Predicate = (value: unknown, ...rest: ReadonlyArray) => value is T; export declare type Static> = T extends Predicate ? R : never; export declare type Constructor = ReadonlyArray> = { new (...rest: U): T; }; export declare type Intersect = (T extends any ? (k: T) => void : never) extends (k: infer I) => void ? I : never; export declare type None = null | undefined; export declare type Unknown = Function | Primitive | object; export declare type Some = Exclude; export declare type Maybe = T | None; export declare type Optional = T | undefined; export declare type Nullable = T | null; export declare type PlainObjectKey = string | symbol; export declare type PlainObject = Record; export declare type UnknownObject = Record; export declare type EmptyObject = Record; export declare type Dictionary = Record; export declare type Primitive = SerializablePrimitive | undefined | symbol | bigint; export declare type SerializableArray = Array | ReadonlyArray; export declare type SerializablePrimitive = null | boolean | number | string; export declare type SerializableObject = { [key: string]: Serializable | undefined; }; export declare type Serializable = SerializablePrimitive | SerializableObject | SerializableArray;