import * as NumberCheck from "./number"; export declare enum PotentiallyUnsafeDateErrorCode { NOT_DATE = "NOT_DATE", } export declare function checkPotentiallyUnsafeDate(mixed: any): undefined | PotentiallyUnsafeDateErrorCode; export declare function checkPotentiallyUnsafeDatePredicate(mixed: any, predicate: (date: Date) => undefined | ErrorT): undefined | PotentiallyUnsafeDateErrorCode | ErrorT; export declare type ValidDateErrorCodeType = (PotentiallyUnsafeDateErrorCode | { index: string; error: NumberCheck.PotentiallyUnsafeNumberErrorCode | NumberCheck.FiniteNumberErrorCode; }); export declare function checkValidDate(mixed: any): undefined | ValidDateErrorCodeType; export declare function checkValidDatePredicate(mixed: any, predicate: (date: Date) => undefined | ErrorT): PotentiallyUnsafeDateErrorCode | { index: string; error: NumberCheck.PotentiallyUnsafeNumberErrorCode | NumberCheck.FiniteNumberErrorCode; } | ErrorT | undefined; export declare enum BeforeErrorCode { EQUAL = "EQUAL", AFTER = "AFTER", } export declare function checkBefore(mixed: any, x: Date): undefined | ValidDateErrorCodeType | BeforeErrorCode; export declare enum AfterErrorCode { EQUAL = "EQUAL", BEFORE = "BEFORE", } export declare function checkAfter(mixed: any, x: Date): undefined | ValidDateErrorCodeType | AfterErrorCode; export declare enum BeforeOrAtErrorCode { AFTER = "AFTER", } export declare function checkBeforeOrAt(mixed: any, x: Date): undefined | ValidDateErrorCodeType | BeforeOrAtErrorCode; export declare enum AfterOrAtErrorCode { BEFORE = "BEFORE", } export declare function checkAfterOrAt(mixed: any, x: Date): undefined | ValidDateErrorCodeType | AfterOrAtErrorCode; export declare type RangeErrorCode = ValidDateErrorCodeType | AfterOrAtErrorCode | BeforeOrAtErrorCode; export declare function checkRange(mixed: any, args: { min?: Date; max?: Date; }): undefined | RangeErrorCode;