/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, NgZone, Renderer2 } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * Provides keyboard navigation support for TreeList column menu items.
 * Use this directive to manage focus and tab order for custom column menu items ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/accessories/column-menu#customizing-the-content)).
 *
 * @example
 * ```html
 * <ng-template kendoTreelistColumnMenuTemplate let-service="service" let-column="column">
 *    <kendo-treelist-columnmenu-sort #sortItem [kendoTreeListColumnMenuItem]="sortItem" [service]="service">
 *    </kendo-treelist-columnmenu-sort>
 * </ng-template>
 * ```
 * @remarks
 * Applied to:
 * {@link ColumnMenuChooserComponent},
 * {@link ColumnMenuFilterComponent},
 * {@link ColumnMenuSortComponent},
 * {@link ColumnMenuLockComponent},
 * {@link ColumnMenuComponent},
 * {@link ColumnMenuItemComponent},
 * {@link ColumnMenuAutoSizeAllColumnsComponent},
 * {@link ColumnMenuAutoSizeColumnComponent}.
 */
export declare class ColumnMenuItemDirective {
    hostElement: ElementRef;
    private renderer;
    private ngZone;
    /**
     * Provides a reference to the TreeList column menu item. Required for built-in keyboard navigation.
     */
    menuItemComponent: any;
    firstFocusableElement: HTMLElement;
    lastFocusableElement: HTMLElement;
    /**
     * @hidden
     */
    set isFirst(value: boolean);
    /**
     * @hidden
     */
    get isFirst(): boolean;
    /**
     * @hidden
     */
    set isLast(value: boolean);
    /**
     * @hidden
     */
    get isLast(): boolean;
    private _isFirst;
    private _isLast;
    private columnMenuItems;
    private subs;
    constructor(hostElement: ElementRef, renderer: Renderer2, ngZone: NgZone);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private onTab;
    private getLastColumnMenuItem;
    private isExpandableItem;
    static ɵfac: i0.ɵɵFactoryDeclaration<ColumnMenuItemDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnMenuItemDirective, "[kendoTreeListColumnMenuItem]", never, { "menuItemComponent": { "alias": "kendoTreeListColumnMenuItem"; "required": false; }; }, {}, never, never, true, never>;
}
