import type { _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService, _WithoutCommon } from 'ag-grid-community';
import { _AgTabGuardComp } from 'ag-grid-community';
import type { AgMenuItemCallbacks, AgMenuItemComponentEvent, AgMenuItemDef } from './agMenuItemComponent';
type AgMenuListEvent = AgMenuItemComponentEvent;
export declare class AgMenuList<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TMenuActionParams extends TCommon> extends _AgTabGuardComp<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, AgMenuListEvent> {
    private readonly level;
    private readonly menuActionParams;
    private readonly callbacks;
    private readonly menuItems;
    private activeMenuItem;
    constructor(level: number, menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, callbacks: AgMenuItemCallbacks<TBeanCollection, TMenuActionParams, TCommon>);
    postConstruct(): void;
    private onTabKeyDown;
    private handleKeyDown;
    private handleFocusIn;
    private handleFocusOut;
    clearActiveItem(): void;
    addMenuItems(menuItems?: (AgMenuItemDef<TMenuActionParams, TCommon> | string)[]): void;
    private addItem;
    activateFirstItem(): void;
    private createSeparator;
    private handleNavKey;
    private closeIfIsChild;
    private openChild;
    private findNextItem;
    destroy(): void;
}
export {};
