export type Valid<T = any, E = Element> = (value?: T, target?: E, event?: Event) => boolean;
export type ValidAction<T = any, E = Element> = (valid: boolean, value?: T, target?: E, event?: Event) => void;
export declare abstract class Validator<T = any, E = Element> {
    protected _value?: T;
    private _target?;
    private _event?;
    private _autoValid;
    private _autoValidAction;
    private _validAction?;
    constructor(_value?: T, target?: E, event?: Event, autoValid?: boolean, autoValidAction?: boolean);
    getValidAction(): ValidAction<T, E> | undefined;
    setValidAction(value: ValidAction<T, E>): this;
    getAutoValid(): boolean;
    setAutoValid(autoValid: boolean): this;
    getAutoValidAction(): boolean;
    setAutoValidAction(autoValid: boolean): this;
    getEvent(): Event;
    setEvent(event: Event | undefined): this;
    getTarget(): E;
    targetFocus(): void;
    targetReset(): void;
    targetDispatchEvent(event: Event): any;
    setTarget(target: E | undefined): this;
    private domRenderFinal;
    get value(): T | undefined;
    set value(value: T | undefined);
    protected tickValue(value: T | undefined): void;
    set(value?: T, target?: E, event?: Event): void;
    changeValue(value: T | undefined): void;
    get checked(): boolean;
    set checked(checked: boolean);
    get selectedIndex(): number;
    set selectedIndex(selectedIndex: number);
    querySelector(selector: string): Element;
    querySelectorALL(selector: string): NodeListOf<Element>;
    validAction(): boolean;
    abstract valid(): boolean;
    inValid(): boolean;
    allValid(): boolean;
    allValidAction(): boolean;
    allInValid(): boolean;
    allInValidAction(): boolean;
    childValid(): boolean;
    childValue(): {
        [key: string]: any;
    };
    childValidAction(): boolean;
    childInValid(): boolean;
    childInValidValidator(): [string, Validator<any, Element>][];
    childInValidAction(): boolean;
    childValidator(name: string): Validator | undefined;
    childValidators(): [string, Validator][];
    childValidValidator(): [string, Validator][];
    syncValue(): void;
    allSyncValue(): void;
    get length(): any;
}
//# sourceMappingURL=Validator.d.ts.map