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 {};