/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { TemplateRef } from '@angular/core';
import { CellTemplateDirective } from '../rendering/cell-template.directive';
import { EditTemplateDirective } from '../editing/edit-template.directive';
import { ColumnSortSettings } from './sort-settings';
import { ColumnBase } from './column-base';
import { FilterCellTemplateDirective } from '../filtering/cell/filter-cell-template.directive';
import { FilterMenuTemplateDirective } from '../filtering/menu/filter-menu-template.directive';
import { OptionChangesService } from '../common/option-changes.service';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare function isColumnComponent(column: any): column is ColumnComponent;
/**
 * Represents a column in the TreeList. Use this component to define a data-bound column.
 *
 * @example
 * ```html
 * <kendo-treelist [kendoTreeListFlatBinding]="data" ...>
 *   <kendo-treelist-column field="name" title="Name"></kendo-treelist-column>
 *   <kendo-treelist-column field="title" title="Title"></kendo-treelist-column>
 * </kendo-treelist>
 * ```
 * @remarks
 * Supported children components are:
 * {@link StringFilterCellComponent},
 * {@link NumericFilterCellComponent},
 * {@link BooleanFilterCellComponent},
 * {@link DateFilterCellComponent},
 * {@link StringFilterMenuComponent},
 * {@link NumericFilterMenuComponent},
 * {@link BooleanFilterMenuComponent},
 * {@link DateFilterMenuComponent},
 * {@link FilterCellOperatorsComponent}.
 */
export declare class ColumnComponent extends ColumnBase {
    /**
     * Specifies if the expanded indicator appears in the column.
     */
    expandable: boolean;
    /**
     * Sets the field to which the column is bound.
     */
    field: string;
    /**
     * Sets the format applied to the value before display. For supported date and number formats, see the [Column Formats](https://www.telerik.com/kendo-angular-ui/components/treelist/columns/formats) article.
     */
    format: any;
    /**
     * Allows the column headers to be clicked and the `sortChange` event emitted. You must handle the `sortChange` event and sort the data.
     * @default true
     */
    sortable: boolean | ColumnSortSettings;
    /**
     * Sets the editor type ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing)). Used when the column enters edit mode.
     * @default 'text'
     */
    editor: 'text' | 'numeric' | 'date' | 'boolean';
    /**
     * Sets the filter type displayed inside the filter row.
     * @default 'text'
     */
    filter: 'text' | 'numeric' | 'boolean' | 'date';
    /**
     * Specifies if a filter UI appears for this column.
     * @default true
     */
    filterable: boolean;
    /**
     * Specifies if the column is editable.
     * @default true
     */
    editable: boolean;
    template: CellTemplateDirective;
    editTemplate: EditTemplateDirective;
    filterCellTemplate: FilterCellTemplateDirective;
    filterMenuTemplate: FilterMenuTemplateDirective;
    constructor(parent?: ColumnBase, optionChanges?: OptionChangesService);
    get templateRef(): TemplateRef<any>;
    get editTemplateRef(): TemplateRef<any>;
    get filterCellTemplateRef(): TemplateRef<any>;
    get filterMenuTemplateRef(): TemplateRef<any>;
    get displayTitle(): string;
    /**
     * @hidden
     */
    get isEditable(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ColumnComponent, [{ optional: true; host: true; skipSelf: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ColumnComponent, "kendo-treelist-column", never, { "expandable": { "alias": "expandable"; "required": false; }; "field": { "alias": "field"; "required": false; }; "format": { "alias": "format"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "editor": { "alias": "editor"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; }, {}, ["template", "editTemplate", "filterCellTemplate", "filterMenuTemplate"], never, true, never>;
}
