/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ExpandableColumnMenuItem } from "./column-menu-expandable-item.interface";
/**
 * Configures the column menu in the TreeList component.
 *
 * @example
 * ```html
 * <kendo-treelist ...
 *   [columnMenu]="{ columnChooser: false }">
 *   ...
 * </kendo-treelist>
 * ```
 */
export interface ColumnMenuSettings {
    /**
     * Specifies if the columns can be sorted in the column menu.
     * If [sorting](https://www.telerik.com/kendo-angular-ui/components/treelist/api/treelistcomponent#sortable) is enabled, the default value is `true`.
     */
    sort?: boolean;
    /**
     * Specifies if the columns can be filtered in the column menu.
     * If [filtering](https://www.telerik.com/kendo-angular-ui/components/treelist/api/treelistcomponent#filterable) is enabled, the default value is `true`.
     */
    filter?: boolean | ExpandableColumnMenuItem;
    /**
     * Specifies if the item for column selection appears in the column menu.
     */
    columnChooser?: boolean | ExpandableColumnMenuItem;
    /**
     * Specifies if the columns can be locked and unlocked from the column menu.
     * This option follows the prerequisites and limitations of the [locked columns](https://www.telerik.com/kendo-angular-ui/components/treelist/columns/locked).
     */
    lock?: boolean;
    /**
     * Applies the minimum possible width for the specified column, so the whole text fits without wrapping.
     */
    autoSizeColumn?: boolean;
    /**
     * Adjusts the width of all columns to fit their entire content, including headers, without wrapping.
     */
    autoSizeAllColumns?: boolean;
}
