import type { FormInput, OptionalAnyMessages } from "./common"; import { LocalConfig, type ConfigRule } from "./config"; declare class Listeners { formNode: HTMLFormElement; inputNode: FormInput; inputName: string; inputEvent: () => void; configRules: ConfigRule; constructor({ formNode, inputNode, inputEvent, inputName, configRules, }: { formNode: HTMLFormElement; inputNode: FormInput; inputEvent: () => void; inputName: string; configRules: ConfigRule; }); update(): void; destroy(): void; } export declare class InputWrap { ruleNames: string[]; ruleMessages: OptionalAnyMessages; configRules: ConfigRule; inputNode: FormInput; errorNode: HTMLElement; mergedConfig: LocalConfig; needValidation: boolean; localValidators: Record; isValid: boolean; invalidRule: string; invalidRuleMessage: string; inputName: string; formNode: HTMLFormElement; listeners: Listeners; private inputEvent; constructor(inputNode: FormInput, formNode: HTMLFormElement, mergedConfig: LocalConfig); private initRules; removeRules(rules?: Array): void; addRules(config: { rules?: ConfigRule; messages?: OptionalAnyMessages; }): void; destroy(): void; validate(showErrors?: boolean): boolean; } export {};