type ValidationType = 'string' | 'number' | 'boolean' | 'array' | 'object' | 'date' | 'enum';
interface ValidationRule {
    type: ValidationType;
    required?: boolean;
    minLength?: number;
    maxLength?: number;
    pattern?: RegExp;
    minValue?: number;
    maxValue?: number;
    enumValues?: (string | number)[];
    items?: ValidationRule;
    properties?: Record<string, ValidationRule>;
}
interface ValidationSchema {
    [key: string]: ValidationRule;
}
export declare function validate(args: any, schema: ValidationSchema): {
    valid: boolean;
    error?: string;
};
export declare const ValidationSchemas: {
    stringArray: (minLength?: number) => ValidationRule;
    entityArray: () => ValidationRule;
    relationArray: () => ValidationRule;
    isoDate: () => ValidationRule;
    nonEmptyString: () => ValidationRule;
};
export {};
