export declare type Nullable = T | undefined | null; export declare type Guard = (x: unknown) => x is T; export interface GuardFunction { (x: unknown): T; } export interface GuardFunctionWithArray extends GuardFunction { array: GuardFunction>; arrayNotEmpty: GuardFunction>; } export interface OptionalGuardFunctionWithArray extends GuardFunction> { array: GuardFunction>>; } export interface GuardClass { optional: OptionalGuardFunctionWithArray; required: GuardFunctionWithArray; }