import type { ReactiveController } from '../reactive-controller-host';
export type AriaValidationHost<T extends HTMLElement = HTMLElement> = {
    validationEl: T | undefined;
    validationSlot?: HTMLSlotElement;
};
type Config = {
    reValidateOnPropChanges?: boolean;
    verboseLogging?: boolean;
    validationTiming?: 'load' | 'slot';
};
export declare class AriaValidationController implements ReactiveController {
    private readonly host;
    private readonly config?;
    private visibilityObserver?;
    private elementQueued;
    private elementValidated;
    private elementLoaded;
    private static knownValidationErrors;
    get disabled(): boolean;
    private get useVerboseLogging();
    constructor(host: AriaValidationHost, config?: Config | undefined);
    private readonly onRuntimeConfigChange;
    hostDidLoad(): void;
    hostDidUpdate(): void;
    hostDisconnected(): void;
    revalidateAria(): void;
    private observeSlot;
    private observeVisibilityOnce;
    private checkLazyValidation;
    private enqueueValidation;
    private discardVisibilityObserver;
}
export {};
//# sourceMappingURL=aria-validation-controller.d.ts.map