declare type InputElement = HTMLInputElement | HTMLTextAreaElement; export interface InputActiveManagerConfig { getInputElement: () => HTMLElement | null; activateOnFocus: boolean; beforeActivate: (input: InputElement) => Promise; afterActivate: (input: InputElement) => void; conditionActivate: (input: InputElement) => boolean; beforeDeactivate: (input: InputElement) => Promise; afterDeactivate: (input: InputElement) => void; activate: (input: InputElement) => Promise; deactivate: (input: InputElement) => Promise; onFocus: (input: InputElement, context: InputActiveManager) => void; onBlur: (input: InputElement, context: InputActiveManager) => void; onInput: (input: InputElement, context: InputActiveManager) => void; } export declare const INPUT_FOCUS_MANAGER_CONFIG: InputActiveManagerConfig; export declare class InputActiveManager { config: InputActiveManagerConfig; element?: InputElement; isActive: boolean; isReady: boolean; constructor(config?: Partial); private setConfig; private updateElement; initialize(): void; private activate; private deactivate; private eventHandlerFocus; private eventHandlerBlur; private eventHandlerInput; listen(): void; stop(): void; } export {};