/**-----------------------------------------------------------------------------------------
* Copyright © 2025 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]({% slug columnmenu_treelist %}) component of the TreeList.
* Use this component to display and manage column menu options for a TreeList column.
*
* @example
* ```html
*
*
*
*
*
*
*
* ```
*/
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;
defaultTemplate: TemplateRef;
/**
* @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]({% slug api_treelist_treelistcomponent %}#toc-sort).
*/
sort: any;
/**
* The descriptor by which the data is filtered.
* Typically bound to the same value as [TreeListComponent.filter]({% slug api_treelist_treelistcomponent %}#toc-filter).
*/
filter: any;
/**
* @hidden
*/
sortable: any;
/**
* @hidden
*/
columnMenuTemplate: TemplateRef;
/**
* @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;
static ɵcmp: i0.ɵɵComponentDeclaration;
}