import { DateTime } from 'luxon'; export type Validator = (val: any) => T; export type ObjectSpec = Record> & { [K in keyof T]: Validator; }; export declare function object(validator: ObjectSpec, includes?: string[], excludes?: string[]): Validator; export declare function array(validator: Validator): Validator; export declare function datetime(val: any): DateTime; export declare const boolean: Validator; export declare const int: Validator; export declare const double: Validator; export declare const string: Validator; export declare function base64(val: any): Buffer; export declare function nullable(validator: Validator): Validator; export declare function nullable(validator: Validator, result: T): Validator; export declare function optional(validator: Validator): Validator; export declare function optional(validator: Validator, result: T): Validator; export declare function maybeArray(validator: Validator): Validator; export declare function intString(val: any): number; export declare function map(keyValidator: Validator, valueValidator: Validator): Validator>; export declare function either(first: Validator, second: Validator): Validator;