/**-----------------------------------------------------------------------------------------
* Copyright © 2025 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";
/**
 * The settings of 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]({% slug api_treelist_treelistcomponent %}#toc-sortable) is enabled, defaults to `true`.
     */
    sort?: boolean;
    /**
     * Specifies if the columns can be filtered in the column menu.
     * If [filtering]({% slug api_treelist_treelistcomponent %}#toc-filterable) is enabled, defaults to `true`.
     */
    filter?: boolean | ExpandableColumnMenuItem;
    /**
     * Specifies if the item for column selection will be displayed 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]({% slug locked_columns_treelist %}).
     */
    lock?: boolean;
    /**
     * Applies the minimum possible width for the specified column, so that 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;
}
