/**-----------------------------------------------------------------------------------------
* Copyright © 2025 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
*
*
*
*
* ```
* @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](slug:formats_columns_treelist) 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]({% slug editing_reactive_forms_treelist %}#toc-setup)). Used when the column enters edit mode. [See example](slug:editing_reactive_forms_treelist).
* @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;
get editTemplateRef(): TemplateRef;
get filterCellTemplateRef(): TemplateRef;
get filterMenuTemplateRef(): TemplateRef;
get displayTitle(): string;
/**
* @hidden
*/
get isEditable(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}