/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { NavigationService } from './../navigation/navigation.service';
import { Renderer2, TemplateRef, OnChanges, OnDestroy, ElementRef, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { SinglePopupService } from '../common/single-popup.service';
import { ColumnMenuService } from './column-menu.service';
import { ColumnMenuSettings } from './column-menu-settings.interface';
import { ContextService } from '../common/provider.service';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { TabStripComponent } from '@progress/kendo-angular-layout';
import { ColumnInfoService } from '../common/column-info.service';
import { IdService } from '../common/id.service';
import { AdaptiveGridService } from '../common/adaptiveness.service';
import * as i0 from "@angular/core";
/**
* Represents the [column menu](slug:columnmenu_grid#toc-customizing-the-position) component.
*
* @example
* ```html
*
*
*
*
*
*
*
* ```
* @example
* ```html
*
*
*
*
*
* ```
*/
export declare class ColumnMenuComponent implements AfterViewInit, OnChanges, OnDestroy {
protected navigationService: NavigationService;
protected popupService: SinglePopupService;
service: ColumnMenuService;
ctx: ContextService;
private renderer;
private cdr;
private columnInfoService;
private idService;
adaptiveGridService: AdaptiveGridService;
/**
* @hidden
*/
standalone: boolean;
/**
* The Grid column instance controlled by the menu.
*/
column: any;
/**
* The settings for the column menu.
*/
settings: ColumnMenuSettings;
/**
* The sort descriptors for the Grid data.
* Typically bound to [`GridComponent.sort`]({% slug api_grid_gridcomponent %}#toc-sort).
*/
sort: any;
/**
* The filter descriptor for the Grid data.
* Typically bound to [`GridComponent.filter`]({% slug api_grid_gridcomponent %}#toc-filter).
*/
filter: any;
/**
* @hidden
*/
sortable: any;
/**
* @hidden
*/
columnMenuTemplate: TemplateRef;
/**
* @hidden
*/
tabIndex: string;
anchor: ElementRef;
template: TemplateRef;
defaultTemplate: TemplateRef;
tabbedInterfaceTemplate: TemplateRef;
tabStrip: TabStripComponent;
/**
* @hidden
*/
columnsIcon: SVGIcon;
/**
* @hidden
*/
actionsClass: string;
/**
* @hidden
*/
slidersIcon: SVGIcon;
/**
* @hidden
*/
filterIcon: SVGIcon;
/**
* @hidden
*/
expandedFilter: boolean;
/**
* @hidden
*/
expandedColumns: boolean;
/**
* @hidden
*/
expandedPosition: boolean;
/**
* @hidden
*/
get showGeneralTab(): boolean;
moreVerticalIcon: SVGIcon;
popupRef: any;
private closeSubscription;
private popupSubs;
constructor(navigationService: NavigationService, popupService: SinglePopupService, service: ColumnMenuService, ctx: ContextService, renderer: Renderer2, cdr: ChangeDetectorRef, columnInfoService: ColumnInfoService, idService: IdService, adaptiveGridService: AdaptiveGridService);
/**
* @hidden
*/
get isActive(): boolean;
/**
* @hidden
*/
get hasFilter(): boolean;
/**
* @hidden
*/
get isNavigable(): boolean;
/**
* @hidden
*/
get hasSort(): boolean;
/**
* @hidden
*/
get hasColumnChooser(): boolean;
/**
* @hidden
*/
onApply(changed: any[]): void;
/**
* @hidden
*/
get hasAutoSizeColumn(): boolean;
/**
* @hidden
*/
get hasAutoSizeAllColumns(): boolean;
/**
* @hidden
*/
get hasLock(): boolean;
/**
* @hidden
*/
get hasStick(): boolean;
/**
* @hidden
*/
get hasPosition(): boolean;
/**
* @hidden
*/
get columns(): any;
ngAfterViewInit(): void;
ngOnChanges(): void;
ngOnDestroy(): void;
/**
* @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;
}