declare type ValidationMessage = string; declare type ValidationSuccess = []; declare type ValidationErr = [ValidationMessage, ...ValidationMessage[]]; export declare type ValidationInfo = ValidationSuccess | ValidationErr; export declare type Validator = (_: T) => ValidationInfo; export declare const isValidationSuccess: (info: ValidationInfo) => info is []; export declare const isValidationErr: (info: ValidationInfo) => info is ValidationErr; declare type Predicate = (_: T) => boolean; export declare const validator: (predicate: Predicate) => (message: string) => Validator; export {};