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 { CellPropertyAnimationType } from "./CellPropertyAnimationType";
import { IgcDefinitionBaseComponent } from "./igc-definition-base-component";
import { Column } from "./Column";
import { ColumnFilterCondition } from "./ColumnFilterCondition";
/**
 * A column in the data grid.
*/
export declare abstract class IgcColumnComponent extends IgcDefinitionBaseComponent {
    /**
                                 * @hidden
                                 */
    readonly i: Column;
    constructor();
    connectedCallback(): void;
    private static _observedAttributesIgcColumnComponent;
    static readonly observedAttributes: string[];
    /**
     * Gets or sets the amount of left padding to use for the cell content for this column.
    */
    paddingLeft: number;
    /**
     * Gets or sets the amount of top padding to use for the cell content for this column.
    */
    paddingTop: number;
    /**
     * Gets or sets the amount of right padding to use for the cell content of this column.
    */
    paddingRight: number;
    /**
     * Gets or sets the amount of bottom padding to use for the cell content of this column.
    */
    paddingBottom: number;
    /**
     * Gets or sets an unique name of the Column
    */
    name: string;
    /**
     * Gets or sets the key used for the column binding
    */
    field: string;
    /**
     * Gets or sets the text displayed in the header of the column
    */
    headerText: string;
    /**
     * Gets the actual text displayed in the header of the column
    */
    actualHeaderText: string;
    /**
     * Gets or sets the background color to use for the cells when they are selected
    */
    selectedBackground: string;
    /**
     * Gets the actual background color that is used for the cells when they are selected
    */
    actualSelectedBackground: string;
    /**
     * Gets or sets the background color to use for the cells when the row is hovered.
    */
    rowHoverBackground: string;
    /**
     * Gets the actual background color that is used for the cells when they are hovered.
    */
    actualHoverBackground: string;
    /**
     * Gets or sets the text color to use for the cells when the row is hovered.
    */
    rowHoverTextColor: string;
    /**
     * Gets the actual text color that is used for the cells when they are hovered.
    */
    actualRowHoverTextColor: string;
    /**
     * Gets or sets the animation settings to use for this column.
    */
    animationSettings: IgcGridColumnAnimationSettings;
    /**
     * Gets or sets the width to use for this column.
    */
    width: IgcColumnWidth;
    /**
     * Gets or sets the minimum width to use for this column. Overrides the DefaultColumnMinWidth from the grid, if set.
    */
    minWidth: number;
    /**
     * Gets whether this column was projected from markup/templates and is constrained.
    */
    isFromMarkup: boolean;
    /**
     * Gets whether this column was auto generated.
    */
    isAutoGenerated: boolean;
    /**
     * Gets or sets a filter to apply on the values of this column
    */
    filter: ColumnFilterCondition;
    /**
     * Gets or sets the header definition for this column.
    */
    header: IgcHeaderComponent;
    /**
     * Gets or sets whether filtering is enabled for this column.
    */
    isFilteringEnabled: boolean;
    /**
     * Gets or sets whether resizing is enabled for this column.
    */
    isResizingEnabled: boolean;
    /**
     * Gets or sets whether or not a column is hidden from the grid
    */
    isHidden: boolean;
    /**
     * Gets or sets if a column should be removed from the grid when it is fully hidden
    */
    shouldRemoveWhenHidden: boolean;
    /**
     * Gets the current sort direction (None, Ascending, Descending) for this column.
    */
    sortDirection: ColumnSortDirection;
    /**
     * Gets or sets the current fixed position for this column.
    */
    pinned: PinnedPositions;
    /**
     * Gets the actual column options icon alignment for this column.
    */
    actualColumnOptionsIconAlignment: ColumnOptionsIconAlignment;
    /**
     * Gets or sets whether the column options icon is aligned opposite the header text or not.
    */
    columnOptionsIconAlignment: ColumnOptionsIconAlignment;
    /**
     * Gets the actual column options icon color for this column.
    */
    actualColumnOptionsIconColor: string;
    /**
     * Gets or sets the column options icon color for this column.
    */
    columnOptionsIconColor: string;
    /**
     * Gets or sets how the column option icon will behave in the column header.
    */
    columnOptionsIconBehavior: ColumnOptionsIconBehavior;
    /**
     * Gets or sets how the column option icon will behave in the column header.
    */
    actualColumnOptionsIconBehavior: ColumnOptionsIconBehavior;
    /**
     * Gets the actual state of the column options for this column.
    */
    actualIsColumnOptionsEnabled: 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.
    */
    isColumnOptionsEnabled: boolean;
    /**
     * Gets the actual state of the column options for this column.
    */
    actualIsColumnOptionsSummariesEnabled: boolean;
    /**
     * Gets or sets whether to show the summaries option in the column options menu for this column.
    */
    isColumnOptionsSummariesEnabled: boolean;
    /**
     * Gets or sets if the column is editable.
    */
    isEditable: boolean;
    /**
     * Gets or sets the text color used for deleted rows.
    */
    deletedTextColor: string;
    /**
     * Gets the actual text color used for deleted rows.
    */
    actualDeletedTextColor: string;
    /**
     * Gets or sets the opacity to use for unsaved edited cell values.
    */
    editOpacity: number;
    /**
     * Gets the actual opacity for unsaved edited cell values.
    */
    actualEditOpacity: number;
    /**
     * Gets or sets the font style to use for unsaved cell edits.
    */
    textEditStyle: string;
    /**
     * Gets the actual font style used for unsaved cell edits.
    */
    actualEditFontInfo: string;
    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;
    private _actualHeaderTextChange;
    private _actualHeaderTextChange_wrapped;
    actualHeaderTextChange: (s: IgcColumnComponent, e: string) => void;
}
