import { AgBeanStub } from '../core/agBeanStub'; import type { AgCoreBeanCollection } from '../interfaces/agCoreBeanCollection'; import type { BaseEvents } from '../interfaces/baseEvents'; import type { BaseProperties } from '../interfaces/baseProperties'; import type { IPropertiesService } from '../interfaces/iProperties'; /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */ export interface ManagedFocusCallbacks { shouldStopEventPropagation?: (e: KeyboardEvent) => boolean; onTabKeyDown?: (e: KeyboardEvent) => void; handleKeyDown?: (e: KeyboardEvent) => void; onFocusIn?: (e: FocusEvent) => void; onFocusOut?: (e: FocusEvent) => void; } /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */ export declare const FOCUS_MANAGED_CLASS = "ag-focus-managed"; /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */ export interface StopPropagationCallbacks { isStopPropagation: (e: Event) => boolean; stopPropagation: (e: Event) => void; } export declare class AgManagedFocusFeature, TProperties extends BaseProperties, TGlobalEvents extends BaseEvents, TCommon, TPropertiesService extends IPropertiesService> extends AgBeanStub { private readonly eFocusable; private readonly stopPropagationCallbacks; private readonly callbacks; constructor(eFocusable: HTMLElement, stopPropagationCallbacks?: StopPropagationCallbacks, callbacks?: ManagedFocusCallbacks); postConstruct(): void; private addKeyDownListeners; }