export interface ValidationRule { type: "required" | "email" | "minLength" | "maxLength" | "pattern" | "match" | "custom"; message: string; value?: any; validator?: (value: string, field: HTMLInputElement) => boolean; } export interface FormValidatorOptions { validateOnInput?: boolean; validateOnBlur?: boolean; showInlineErrors?: boolean; invalidClass?: string; validClass?: string; errorClass?: string; onValid?: (form: HTMLFormElement) => void; onInvalid?: (errors: Map) => void; onFieldValidate?: (field: HTMLInputElement, isValid: boolean, errors: string[]) => void; } export declare class FormValidator { private form; private options; private rules; private errors; constructor(formSelectorOrElement: string | HTMLFormElement, options?: FormValidatorOptions); addRule(fieldName: string, rule: ValidationRule): void; removeRules(fieldName: string): void; validate(): boolean; validateField(field: HTMLInputElement): boolean; getErrors(): Map; getFieldErrors(fieldName: string): string[]; clear(): void; destroy(): void; private init; private handleSubmit; private handleFieldInput; private handleFieldBlur; private getFields; private parseDataRules; private checkRule; private updateFieldUI; private showErrorMessage; private removeErrorMessage; } export default FormValidator; //# sourceMappingURL=FormValidator.d.ts.map