export interface ValidationRule { test: (value: string) => boolean; message: string; } export interface ValidateOptions { rules?: ValidationRule[]; /** When provided, bridges to the Constraint Validation API via `setValidity()`. */ internals?: ElementInternals; } /** Runs validation rules against a value and dispatches `native:valid` or `native:invalid` events. */ export declare class ValidateController { #private; readonly host: HTMLElement; rules: ValidationRule[]; constructor(host: HTMLElement, options?: ValidateOptions); get valid(): boolean; get errorMessage(): string; validate(value?: string): boolean; clearValidation(): void; destroy(): void; static required(message?: string): ValidationRule; static minLength(min: number, message?: string): ValidationRule; static maxLength(max: number, message?: string): ValidationRule; static pattern(regex: RegExp, message?: string): ValidationRule; } //# sourceMappingURL=validate-controller.d.ts.map