import type { ValidatorConfig, Validator } from './validators'; export type ValidationInfo = Required, AnyFunction>>; export type ValidationResult = { readonly [P in Props]: R | undefined; }; type PropsValidators = { [P in keyof T]?: Validator | Validator[] | undefined; }; export interface ValidateOptions { readonly validators?: PropsValidators : T> | undefined; readonly testValue?: T[K] | undefined; } /** * Validates all properties of the `target` or just the property `propName`. * If the `testValue` is provided it will be used instead of `target[propName]` */ export declare function validate(target: T, propName?: K, options?: ValidateOptions): ValidationResult; export declare namespace validate { var getValidatorsPropName: () => symbol; } export {};