import { IgcGridColumnAnimationSettings } from "./igc-grid-column-animation-settings";
import { IgcColumnWidth } from "./igc-column-width";
import { IgcHeaderComponent } from "./igc-header-component";
import { ColumnSortDirection } from "./ColumnSortDirection";
import { PinnedPositions } from "./PinnedPositions";
import { ColumnOptionsIconAlignment } from "./ColumnOptionsIconAlignment";
import { ColumnOptionsIconBehavior } from "./ColumnOptionsIconBehavior";
import { MergedCellMode } from "./MergedCellMode";
import { MergedCellEvaluationCriteria } from "./MergedCellEvaluationCriteria";
import { CellContentVerticalAlignment } from "./CellContentVerticalAlignment";
import { FilterComparisonType } from "./FilterComparisonType";
import { IgcGridFilterOperandsCollection } from "./igc-grid-filter-operands-collection";
import { CellPropertyAnimationType } from "./CellPropertyAnimationType";
import { IgcDefinitionBaseComponent } from "./igc-definition-base-component";
import { DataGridColumn } from "./DataGridColumn";
import { ColumnFilterCondition } from "./ColumnFilterCondition";
import { IFilterExpression } from "igniteui-webcomponents-core";
import { ToolActionInfo } from "igniteui-webcomponents-core";
import { ICommandAvailabilityListener } from "igniteui-webcomponents-core";
import { ICommandStateChangedListener } from "igniteui-webcomponents-core";
/**
 * A column in the data grid.
*/
export declare abstract class IgcDataGridColumnComponent extends IgcDefinitionBaseComponent {
    /**
                                 * @hidden
                                 */
    get i(): DataGridColumn;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    private static _observedAttributesIgcDataGridColumnComponent;
    static get observedAttributes(): string[];
    /**
     * Gets or sets the amount of left padding to use for the cell content for this column.
    */
    get paddingLeft(): number;
    set paddingLeft(v: number);
    /**
     * Gets or sets the amount of top padding to use for the cell content for this column.
    */
    get paddingTop(): number;
    set paddingTop(v: number);
    /**
     * Gets or sets the amount of right padding to use for the cell content of this column.
    */
    get paddingRight(): number;
    set paddingRight(v: number);
    /**
     * Gets or sets the amount of bottom padding to use for the cell content of this column.
    */
    get paddingBottom(): number;
    set paddingBottom(v: number);
    /**
     * Gets or sets an unique name of the Column
    */
    get name(): string;
    set name(v: string);
    /**
     * Gets or sets the key used for the column binding
    */
    get field(): string;
    set field(v: string);
    /**
     * Gets or sets the text displayed in the header of the column
    */
    get headerText(): string;
    set headerText(v: string);
    /**
     * Gets the actual text displayed in the header of the column
    */
    get actualHeaderText(): string;
    set actualHeaderText(v: string);
    /**
     * Gets or sets the background color to use for the cells when they are selected
    */
    get selectedBackground(): string;
    set selectedBackground(v: string);
    /**
     * Gets the actual background color that is used for the cells when they are selected
    */
    get actualSelectedBackground(): string;
    set actualSelectedBackground(v: string);
    /**
     * Gets or sets the background color to use for the cells when the row is hovered.
    */
    get rowHoverBackground(): string;
    set rowHoverBackground(v: string);
    /**
     * Gets the actual background color that is used for the cells when they are hovered.
    */
    get actualHoverBackground(): string;
    set actualHoverBackground(v: string);
    /**
     * Gets or sets the text color to use for the cells when the row is hovered.
    */
    get rowHoverTextColor(): string;
    set rowHoverTextColor(v: string);
    /**
     * Gets the actual text color that is used for the cells when they are hovered.
    */
    get actualRowHoverTextColor(): string;
    set actualRowHoverTextColor(v: string);
    /**
     * Gets or sets the animation settings to use for this column.
    */
    get animationSettings(): IgcGridColumnAnimationSettings;
    set animationSettings(v: IgcGridColumnAnimationSettings);
    /**
     * Gets or sets the width to use for this column.
    */
    get width(): IgcColumnWidth;
    set width(v: IgcColumnWidth);
    /**
     * Gets or sets the minimum width to use for this column. Overrides the DefaultColumnMinWidth from the grid, if set.
    */
    get minWidth(): number;
    set minWidth(v: number);
    /**
     * Gets whether this column was projected from markup/templates and is constrained.
    */
    get isFromMarkup(): boolean;
    set isFromMarkup(v: boolean);
    /**
     * Gets whether this column was auto generated.
    */
    get isAutoGenerated(): boolean;
    set isAutoGenerated(v: boolean);
    /**
     * Gets or sets a filter to apply on the values of this column
    */
    get filter(): ColumnFilterCondition;
    set filter(v: ColumnFilterCondition);
    /**
     * Gets or sets a filter to apply to the values of this column.
    */
    get filterExpression(): IFilterExpression;
    set filterExpression(v: IFilterExpression);
    /**
     * Gets or sets the header definition for this column.
    */
    get header(): IgcHeaderComponent;
    set header(v: IgcHeaderComponent);
    /**
     * Gets or sets whether filtering is enabled for this column.
    */
    get isFilteringEnabled(): boolean;
    set isFilteringEnabled(v: boolean);
    /**
     * Gets or sets whether resizing is enabled for this column.
    */
    get isResizingEnabled(): boolean;
    set isResizingEnabled(v: boolean);
    /**
     * Gets or sets whether or not a column is hidden from the grid
    */
    get isHidden(): boolean;
    set isHidden(v: boolean);
    /**
     * Gets or sets if a column should be removed from the grid when it is fully hidden
    */
    get shouldRemoveWhenHidden(): boolean;
    set shouldRemoveWhenHidden(v: boolean);
    /**
     * Gets the current sort direction (None, Ascending, Descending) for this column.
    */
    get sortDirection(): ColumnSortDirection;
    set sortDirection(v: ColumnSortDirection);
    /**
     * Gets or sets the current fixed position for this column.
    */
    get pinned(): PinnedPositions;
    set pinned(v: PinnedPositions);
    /**
     * Gets the actual column options icon alignment for this column.
    */
    get actualColumnOptionsIconAlignment(): ColumnOptionsIconAlignment;
    set actualColumnOptionsIconAlignment(v: ColumnOptionsIconAlignment);
    /**
     * Gets or sets whether the column options icon is aligned opposite the header text or not.
    */
    get columnOptionsIconAlignment(): ColumnOptionsIconAlignment;
    set columnOptionsIconAlignment(v: ColumnOptionsIconAlignment);
    /**
     * Gets the actual column options icon color for this column.
    */
    get actualColumnOptionsIconColor(): string;
    set actualColumnOptionsIconColor(v: string);
    /**
     * Gets or sets the column options icon color for this column.
    */
    get columnOptionsIconColor(): string;
    set columnOptionsIconColor(v: string);
    /**
     * Gets or sets how the column option icon will behave in the column header.
    */
    get columnOptionsIconBehavior(): ColumnOptionsIconBehavior;
    set columnOptionsIconBehavior(v: ColumnOptionsIconBehavior);
    /**
     * Gets or sets how the column option icon will behave in the column header.
    */
    get actualColumnOptionsIconBehavior(): ColumnOptionsIconBehavior;
    set actualColumnOptionsIconBehavior(v: ColumnOptionsIconBehavior);
    /**
     * Gets the actual state of the column options for this column.
    */
    get actualIsColumnOptionsEnabled(): boolean;
    set actualIsColumnOptionsEnabled(v: boolean);
    /**
     * Gets or sets the preferred state of the column options for this column. If the feature is disabled at the grid level
     * then it will be disabled for the column regardless of what this is set to.
    */
    get isColumnOptionsEnabled(): boolean;
    set isColumnOptionsEnabled(v: boolean);
    /**
     * Gets the actual state of summaries menu in the column options for this column.
    */
    get actualIsColumnOptionsSummariesEnabled(): boolean;
    set actualIsColumnOptionsSummariesEnabled(v: boolean);
    /**
     * Gets or sets whether to show the summaries option in the column options menu for this column.
    */
    get isColumnOptionsSummariesEnabled(): boolean;
    set isColumnOptionsSummariesEnabled(v: boolean);
    /**
     * Gets the actual state of grouping menu in the column options for this column.
    */
    get actualIsColumnOptionsGroupingEnabled(): boolean;
    set actualIsColumnOptionsGroupingEnabled(v: boolean);
    /**
     * Gets or sets whether to show the grouping option in the column options menu for this column.
    */
    get isColumnOptionsGroupingEnabled(): boolean;
    set isColumnOptionsGroupingEnabled(v: boolean);
    /**
     * Gets or sets if the column is editable.
    */
    get isEditable(): boolean;
    set isEditable(v: boolean);
    /**
     * Gets or sets the text color used for deleted rows.
    */
    get deletedTextColor(): string;
    set deletedTextColor(v: string);
    /**
     * Gets the actual text color used for deleted rows.
    */
    get actualDeletedTextColor(): string;
    set actualDeletedTextColor(v: string);
    /**
     * Gets or sets the opacity to use for unsaved edited cell values.
    */
    get editOpacity(): number;
    set editOpacity(v: number);
    /**
     * Gets the actual opacity for unsaved edited cell values.
    */
    get actualEditOpacity(): number;
    set actualEditOpacity(v: number);
    /**
     * Gets or sets the font style to use for unsaved cell edits.
    */
    get textEditStyle(): string;
    set textEditStyle(v: string);
    /**
     * Gets the actual font style used for unsaved cell edits.
    */
    get actualEditFontInfo(): string;
    set actualEditFontInfo(v: string);
    /**
     * Gets or sets if and how cell merging is performed for this field.
    */
    get mergedCellMode(): MergedCellMode;
    set mergedCellMode(v: MergedCellMode);
    /**
     * Gets or sets how cells are evaluated for merging.
    */
    get mergedCellEvaluationCriteria(): MergedCellEvaluationCriteria;
    set mergedCellEvaluationCriteria(v: MergedCellEvaluationCriteria);
    /**
     * Gets or sets the vertical alignment to use for the merged cell content.
    */
    get mergedCellVerticalAlignment(): CellContentVerticalAlignment;
    set mergedCellVerticalAlignment(v: CellContentVerticalAlignment);
    /**
     * Gets or sets the amount of left padding to use for the cell content for this column.
    */
    get mergedCellPaddingLeft(): number;
    set mergedCellPaddingLeft(v: number);
    /**
     * Gets or sets the amount of top padding to use for the cell content for this column.
    */
    get mergedCellPaddingTop(): number;
    set mergedCellPaddingTop(v: number);
    /**
     * Gets or sets the amount of right padding to use for the cell content of this column.
    */
    get mergedCellPaddingRight(): number;
    set mergedCellPaddingRight(v: number);
    /**
     * Gets or sets the amount of bottom padding to use for the cell content of this column.
    */
    get mergedCellPaddingBottom(): number;
    set mergedCellPaddingBottom(v: number);
    /**
     * Gets or sets whether UI filters are case sensitive or not.
    */
    get filterComparisonType(): FilterComparisonType;
    set filterComparisonType(v: FilterComparisonType);
    private _filterOperands;
    /**
     * Gets a list of the current custom filters for this column.
    */
    get filterOperands(): IgcGridFilterOperandsCollection;
    set filterOperands(v: IgcGridFilterOperandsCollection);
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
    /**
     * Get the unique key used to identify this column.
    
    */
    getUniqueKey(): string;
    setNamedHeaderValue(valueName: string, animationType: CellPropertyAnimationType, value: any): void;
    /**
     * Returns if the column has named header values.
    
    */
    hasNamedHeaderValues(): boolean;
    /**
     * Returns if there is a named header value with a given name.
    
    * @param valueName  * The named value to check for.
    */
    hasNamedHeaderValue(valueName: string): boolean;
    /**
     * Removes a named header value with the given name from the named header values for this column.
    
    * @param valueName  * The named header value to remove.
    */
    removeNamedHeaderValue(valueName: string): void;
    /**
     * Gets the value of a named header value for this column by name.
    
    * @param valueName  * Name of the named header value to retrieve.
    */
    getNamedHeaderValue(valueName: string): any;
    applyCustomFilter(filterID: string, index: number, value: any): void;
    getDesiredToolbarActions(): ToolActionInfo[];
    addCommandAvailabilityListener(listener: ICommandAvailabilityListener): void;
    removeCommandAvailabilityListener(listener: ICommandAvailabilityListener): void;
    addCommandStateChangedListener(listener: ICommandStateChangedListener): void;
    removeCommandStateChangedListener(listener: ICommandStateChangedListener): void;
    private _actualHeaderTextChange;
    private _actualHeaderTextChange_wrapped;
    get actualHeaderTextChange(): (s: IgcDataGridColumnComponent, e: string) => void;
    set actualHeaderTextChange(ev: (s: IgcDataGridColumnComponent, e: string) => void);
}
