/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { TemplateRef, OnChanges, OnDestroy, ChangeDetectorRef, ElementRef, Renderer2, AfterViewInit } from '@angular/core';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { SinglePopupService } from '../common/single-popup.service';
import { ColumnMenuService } from './column-menu.service';
import { ColumnMenuSettings } from './column-menu-settings.interface';
import { NavigationService } from '../navigation/navigation.service';
import { IdService } from '../common/id.service';
import { ContextService } from '../common/provider.service';
import * as i0 from "@angular/core";
/**
 * Represents the [column menu](https://www.telerik.com/kendo-angular-ui/components/treelist/accessories/column-menu) component of the TreeList.
 * Use this component to display and manage column menu options for a TreeList column.
 *
 * @example
 * ```html
 * <kendo-treelist ...>
 *   <kendo-treelist-column field="ProductName">
 *     <ng-template kendoTreeListColumnMenuTemplate let-service="service" let-column="column">
 *       <kendo-treelist-column-menu [column]="column"></kendo-treelist-column-menu>
 *     </ng-template>
 *   </kendo-treelist-column>
 * </kendo-treelist>
 * ```
 */
export declare class ColumnMenuComponent implements AfterViewInit, OnChanges, OnDestroy {
    protected navigationService: NavigationService;
    protected popupService: SinglePopupService;
    ctx: ContextService;
    service: ColumnMenuService;
    private cdr;
    private renderer;
    private idService;
    anchor: ElementRef;
    template: TemplateRef<any>;
    defaultTemplate: TemplateRef<any>;
    /**
     * @hidden
     */
    standalone: boolean;
    /**
     * The TreeList column instance to control with the menu.
     */
    column: any;
    /**
     * The settings for the Column Menu.
     */
    settings: ColumnMenuSettings;
    /**
     * The descriptors by which the data is sorted.
     * Typically bound to the same value as [TreeListComponent.sort](https://www.telerik.com/kendo-angular-ui/components/treelist/api/treelistcomponent#sort).
     */
    sort: any;
    /**
     * The descriptor by which the data is filtered.
     * Typically bound to the same value as [TreeListComponent.filter](https://www.telerik.com/kendo-angular-ui/components/treelist/api/treelistcomponent#filter).
     */
    filter: any;
    /**
     * @hidden
     */
    sortable: any;
    /**
     * @hidden
     */
    columnMenuTemplate: TemplateRef<any>;
    /**
     * @hidden
     */
    tabIndex: string;
    moreVerticalIcon: SVGIcon;
    /**
     * @hidden
     */
    expandedFilter: boolean;
    /**
     * @hidden
     */
    expandedColumns: boolean;
    popupRef: any;
    private closeSubscription;
    private popupSubs;
    constructor(navigationService: NavigationService, popupService: SinglePopupService, ctx: ContextService, service: ColumnMenuService, cdr: ChangeDetectorRef, renderer: Renderer2, idService: IdService);
    ngAfterViewInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    get isActive(): boolean;
    /**
     * @hidden
     */
    get hasFilter(): boolean;
    /**
     * @hidden
     */
    get hasSort(): boolean;
    /**
     * @hidden
     */
    get hasColumnChooser(): boolean;
    /**
     * @hidden
     */
    get hasLock(): boolean;
    /**
     * @hidden
     */
    get hasAutoSizeColumn(): boolean;
    /**
     * @hidden
     */
    get hasAutoSizeAllColumns(): boolean;
    /**
     * @hidden
     */
    get isNavigable(): boolean;
    /**
     * @hidden
     */
    toggle(e: any, anchor: any, template: any): void;
    /**
     * @hidden
     */
    close(triggerFocus?: boolean): void;
    /**
     * @hidden
     */
    get columnMenuTitle(): string;
    private getExpandedState;
    private updateAria;
    private focusRoot;
    static ɵfac: i0.ɵɵFactoryDeclaration<ColumnMenuComponent, [null, null, null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ColumnMenuComponent, "kendo-treelist-column-menu", never, { "standalone": { "alias": "standalone"; "required": false; }; "column": { "alias": "column"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "columnMenuTemplate": { "alias": "columnMenuTemplate"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, {}, never, never, true, never>;
}
