export declare type AnyJson = boolean | number | string | null | JsonArray | JsonMap; export declare type JsonMap = { [key: string]: AnyJson; }; export declare type JsonArray = Array; export declare const checkIsString: Refinement; /** * https://github.com/Microsoft/TypeScript/issues/12215#issuecomment-377567046 */ export declare type OmitStrict = Omit; /** * Unlike TypeScript's `NonNullable`, this does _not_ include `undefined` */ export declare type Nullable = T | null; export declare const isDefined: (x: T | null | undefined) => x is T; export declare type NonEmptyArray = [T, ...T[]]; declare type Refinement = (a: A) => a is B; export declare function getRefinement(getB: (a: A) => Nullable): Refinement; export declare const checkIsNonEmptyArray: (a: T[]) => a is NonEmptyArray; export {};