export declare type TestFunctionReturn = boolean | ValidatorInternalTestResult; export declare type TestFunction = (params: any) => Promise | TestFunctionReturn; export interface ValidatorTestResult { valid: boolean; type: string; func: TestFunction; args: any; result?: ValidatorInternalTestResult; } export interface ValidatorErrorRaw { test: ValidatorTestResult; label: string; position?: number; } export interface ValidatorErrorFormatted { label: string; type: string; message: string; position?: number; errors?: ValidatorErrorFormatted[]; } export interface ValidatorInternalTest { type: string; func: TestFunction; args: any; } export interface ValidatorInternalTestResult { valid: boolean; error: string; overrideWith?: ValidatorTestResult; errors?: ValidatorErrorRaw[]; [key: string]: any; }