export type FormTrigger = 'blur' | 'change';
export interface FormRule {
    required?: boolean;
    type?: 'string' | 'number' | 'integer' | 'email' | 'url';
    min?: number;
    max?: number;
    len?: number;
    pattern?: RegExp;
    validator?: (value: unknown, model: Record<string, unknown>) => true | string;
    message?: string;
    trigger?: FormTrigger | FormTrigger[];
}
export type FormRules = Record<string, FormRule | FormRule[]>;
export declare function normalizeRules(rules: FormRule | FormRule[] | undefined): FormRule[];
export declare function runRules(value: unknown, rules: FormRule[], model: Record<string, unknown>): string;
