/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { TemplateRef, AfterViewInit } from '@angular/core';
import { CellTemplateDirective } from '../rendering/cell-template.directive';
import { GroupHeaderTemplateDirective } from '../grouping/group-header-template.directive';
import { GroupHeaderColumnTemplateDirective } from '../grouping/group-header-column-template.directive';
import { EditTemplateDirective } from '../editing/edit-template.directive';
import { ColumnSortSettings } from './sort-settings';
import { GroupFooterTemplateDirective } from '../grouping/group-footer-template.directive';
import { ColumnBase } from './column-base';
import { FilterCellTemplateDirective } from '../filtering/cell/filter-cell-template.directive';
import { FilterMenuTemplateDirective } from '../filtering/menu/filter-menu-template.directive';
import { IdService } from '../common/id.service';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare function isColumnComponent(column: any): column is ColumnComponent;
/**
 * Represents the column of the Grid. [See example](slug:columns_config#toc-using-the-column-component)
 *
 * @example
 * ```html
 * <kendo-grid [data]="gridData">
 *   <kendo-grid-column field="ProductID" title="Product ID"></kendo-grid-column>
 *   <kendo-grid-column field="ProductName" title="Product Name"></kendo-grid-column>
 *   <kendo-grid-column field="UnitPrice" title="Unit Price"></kendo-grid-column>
 * </kendo-grid>
 * ```
 */
export declare class ColumnComponent extends ColumnBase implements AfterViewInit {
    /**
     * The field to which the column is bound.
     */
    field: string;
    /**
     * The format that is applied to the value before it is displayed. For more information on the supported date and number formats,
     * refer to the [Column Formats](slug:formats_columns_grid) documentation article.
     */
    format: any;
    /**
     * Allows the user to click the column headers and emits the `sortChange` event. [See example](slug:sorting_grid).
     *
     * @default true
     */
    sortable: boolean | ColumnSortSettings;
    /**
     * Determines if the column can be dragged to the group panel.
     * If set to `false`, you can group the columns by the column field by using the API of the Grid.
     *
     * @default true
     */
    groupable: boolean;
    /**
     * Defines the editor type. [See example](slug:inline_editing_grid#toc-using-reactive-forms).
     * Used when the column enters the edit mode.
     *
     * @default 'text'
     */
    editor: 'text' | 'numeric' | 'date' | 'boolean';
    /**
     * Defines the filter type that is displayed inside the filter row. [See example](slug:filtering_grid#toc-filter-data-types).
     *
     * @default 'text'
     */
    filter: 'text' | 'numeric' | 'boolean' | 'date';
    /**
     * Defines if a filter UI will be displayed for this column. [See example](slug:filtering_grid).
     *
     * @default true
     */
    filterable: boolean;
    /**
     * Defines whether the column is editable. [See example](slug:make_fields_uneditable_grid).
     *
     * @default true
     */
    editable: boolean;
    template: CellTemplateDirective;
    groupHeaderTemplate: GroupHeaderTemplateDirective;
    groupHeaderColumnTemplate: GroupHeaderColumnTemplateDirective;
    groupFooterTemplate: GroupFooterTemplateDirective;
    editTemplate: EditTemplateDirective;
    filterCellTemplate: FilterCellTemplateDirective;
    filterMenuTemplate: FilterMenuTemplateDirective;
    constructor(parent?: ColumnBase, idService?: IdService);
    get templateRef(): TemplateRef<any>;
    get groupHeaderTemplateRef(): TemplateRef<any>;
    get groupHeaderColumnTemplateRef(): TemplateRef<any>;
    get groupFooterTemplateRef(): TemplateRef<any>;
    get editTemplateRef(): TemplateRef<any>;
    get filterCellTemplateRef(): TemplateRef<any>;
    get filterMenuTemplateRef(): TemplateRef<any>;
    get displayTitle(): string;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ColumnComponent, [{ optional: true; host: true; skipSelf: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ColumnComponent, "kendo-grid-column", never, { "field": { "alias": "field"; "required": false; }; "format": { "alias": "format"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "groupable": { "alias": "groupable"; "required": false; }; "editor": { "alias": "editor"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; }, {}, ["template", "groupHeaderTemplate", "groupHeaderColumnTemplate", "groupFooterTemplate", "editTemplate", "filterCellTemplate", "filterMenuTemplate"], never, true, never>;
}
