import { CellContentHorizontalAlignment } from "./CellContentHorizontalAlignment";
import { CellContentVerticalAlignment } from "./CellContentVerticalAlignment";
import { TextCellLineBreakMode } from "./TextCellLineBreakMode";
import { ColumnSortDirection } from "./ColumnSortDirection";
import { CellModel as CellModel_internal } from "./CellModel";
import { ICellActionManager } from "./ICellActionManager";
import { PinnedPositions } from './PinnedPositions';
/**
 * Represents info about the current cell.
*/
export declare abstract class IgcCellInfo {
    protected createImplementation(): CellModel_internal;
    protected _implementation: any;
    get i(): CellModel_internal;
    constructor();
    protected _provideImplementation(i: any): void;
    private onImplementationCreated;
    addOnChangedListener(listener: () => void): void;
    removeOnChangedListener(listener: () => void): void;
    private _onChanged;
    private _changed;
    private _implementation_propertyChanged;
    private _implementation_cellReconciling;
    get resolvedTextAlign(): "center" | "left" | "right";
    get resolvedContentOpacity(): number;
    /**
 * Gets the style key of the current cell, used for recycling.
*/
    get styleKey(): string;
    set styleKey(v: string);
    /**
     * Gets the absolute data row for the current cell.
    */
    get dataRow(): number;
    set dataRow(v: number);
    /**
     * Gets if the position of the cell is dirty.
    */
    get isPositionDirty(): boolean;
    set isPositionDirty(v: boolean);
    /**
     * Gets if the size of the cell is dirty.
    */
    get isSizeDirty(): boolean;
    set isSizeDirty(v: boolean);
    /**
     * Gets if the content of the cell is dirty.
    */
    get isContentDirty(): boolean;
    set isContentDirty(v: boolean);
    /**
     * Gets if the content of the cell is dirty.
    */
    get isBorderDirty(): boolean;
    set isBorderDirty(v: boolean);
    /**
     * Gets if the layer of the cell is dirty.
    */
    get isLayerDirty(): boolean;
    set isLayerDirty(v: boolean);
    /**
     * Gets if the layer of the cell is dirty.
    */
    get isStateDirty(): boolean;
    set isStateDirty(v: boolean);
    /**
     * Gets if the data of the cell is dirty.
    */
    get isDataDirty(): boolean;
    set isDataDirty(v: boolean);
    /**
     * Gets if placeholder content is needed when virtualized.
    */
    get isPlaceholdContentNeeded(): boolean;
    set isPlaceholdContentNeeded(v: boolean);
    /**
     * Gets the action manager to propagate actions back to the grid.
    */
    get actionManager(): ICellActionManager;
    set actionManager(v: ICellActionManager);
    /**
     * Gets or sets whether the cell is hit test visible.
    */
    get isHitTestVisible(): boolean;
    set isHitTestVisible(v: boolean);
    /**
     * Gets if this cell belongs to a row that has been marked as pinned.
    */
    get isRowPinned(): boolean;
    set isRowPinned(v: boolean);
    /**
     * Gets if this cell belongs to a row that will stick to the top of the grid.
    */
    get isRowSticky(): boolean;
    set isRowSticky(v: boolean);
    /**
     * Gets if this cell is the last row that can stick to the top of the grid.
    */
    get isLastStickyRow(): boolean;
    set isLastStickyRow(v: boolean);
    /**
     * Gets if this cell is in the filter row.
    */
    get isFilterRow(): boolean;
    set isFilterRow(v: boolean);
    /**
     * Gets the indent level of the cell.
    */
    get indent(): number;
    set indent(v: number);
    get rowItem(): any;
    set rowItem(v: any);
    /**
     * Gets the X position of the cell within the content.
    */
    get x(): number;
    set x(v: number);
    /**
     * Gets the Y position of the cell within the content.
    */
    get y(): number;
    set y(v: number);
    /**
     * Gets the pixel snapped X position of the cell within the content.
    */
    get snappedX(): number;
    set snappedX(v: number);
    /**
     * Gets the snapped Y position of the cell within the content.
    */
    get snappedY(): number;
    set snappedY(v: number);
    /**
     * Gets or sets the opacity for cells that have unsaved edits.
    */
    get editOpacity(): number;
    set editOpacity(v: number);
    /**
     * Gets or sets the opacity of the content of the cell.
    */
    get contentOpacity(): number;
    set contentOpacity(v: number);
    /**
     * Gets the actual content opacity of the cell.
    */
    get actualContentOpacity(): number;
    set actualContentOpacity(v: number);
    /**
     * Gets or sets the opacity of the cell.
    */
    get opacity(): number;
    set opacity(v: number);
    /**
     * Gets the actual opacity of the cell.
    */
    get actualOpacity(): number;
    set actualOpacity(v: number);
    /**
     * Gets the height of the cell.
    */
    get height(): number;
    set height(v: number);
    /**
     * Gets the width of the cell.
    */
    get width(): number;
    set width(v: number);
    /**
     * Gets if the cell is selected.
    */
    get isSelected(): boolean;
    set isSelected(v: boolean);
    /**
     * Gets the amount that the cell is selected. This is a value between 0 and 1.
    */
    get selectedStatus(): number;
    set selectedStatus(v: number);
    /**
     * Gets the amount that the cell is activated. This is a value between 0 and 1.
    */
    get activationStatus(): number;
    set activationStatus(v: number);
    /**
     * Gets the amount that the cell is hovered. This is a value between 0 and 1.
    */
    get hoverStatus(): number;
    set hoverStatus(v: number);
    /**
     * Gets whether the cell is hoverable or not.
    */
    get isHoverable(): boolean;
    set isHoverable(v: boolean);
    /**
     * Gets or sets the horiztonal alignment of the cell content.
    */
    get horizontalAlignment(): CellContentHorizontalAlignment;
    set horizontalAlignment(v: CellContentHorizontalAlignment);
    /**
     * Gets or sets the vertical alignment of the cell content.
    */
    get verticalAlignment(): CellContentVerticalAlignment;
    set verticalAlignment(v: CellContentVerticalAlignment);
    /**
     * Gets or sets the background color of the cell.
    */
    get background(): string;
    set background(v: string);
    /**
     * Gets or sets the border color of the cell.
    */
    get border(): string;
    set border(v: string);
    /**
     * Gets the actual background color of the cell
    */
    get actualBackground(): string;
    set actualBackground(v: string);
    /**
     * Gets the actual background color of the cell
    */
    get actualBorder(): string;
    set actualBorder(v: string);
    /**
     * Gets the actual background color of the cell
    */
    get activationBorder(): string;
    set activationBorder(v: string);
    /**
     * Gets or sets the error border color of the cell.
    */
    get errorBorder(): string;
    set errorBorder(v: string);
    /**
     * Gets or sets the selected background color of the cell.
    */
    get selectedBackground(): string;
    set selectedBackground(v: string);
    /**
     * Gets or sets the hover background color of the cell.
    */
    get hoverBackground(): string;
    set hoverBackground(v: string);
    /**
     * Gets or sets the hover text color of the cell.
    */
    get hoverTextColor(): string;
    set hoverTextColor(v: string);
    /**
     * Gets or sets the color for the sort indicator icon.
    */
    get sortIndicatorColor(): string;
    set sortIndicatorColor(v: string);
    /**
     * Gets or sets the background color for the cell when it is stuck to the top of the grid as a pinned row.
    */
    get stickyRowBackground(): string;
    set stickyRowBackground(v: string);
    /**
     * Gets or sets the background color for the cell that has been marked as pinned.
    */
    get pinnedRowBackground(): string;
    set pinnedRowBackground(v: string);
    /**
     * Gets or sets the color for the last row in the sticky row area.
    */
    get lastStickyRowBackground(): string;
    set lastStickyRowBackground(v: string);
    /**
     * Gets or sets the background color for filter row.
    */
    get filterRowBackground(): string;
    set filterRowBackground(v: string);
    /**
     * Gets or sets the color to use for displaying text.
    */
    get pinnedRowOpacity(): number;
    set pinnedRowOpacity(v: number);
    /**
     * Gets or sets the original value for the cell, before processing.
    */
    get originalValue(): any;
    set originalValue(v: any);
    /**
     * Gets or sets the text value, if any, which was rendered by a text cell.
    */
    get renderValue(): string;
    set renderValue(v: string);
    /**
     * Gets or sets the color of the text for the cell, if any.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets the actual color of the text for the cell, if any.
    */
    get actualTextColor(): string;
    set actualTextColor(v: string);
    /**
     * Gets or sets the text color for cells in deleted rows.
    */
    get deletedTextColor(): string;
    set deletedTextColor(v: string);
    get font(): string;
    set font(v: string);
    get actualFont(): string;
    set actualFont(v: string);
    /**
     * Gets or sets the line break mode to use if text is present in the cell.
    */
    get lineBreakMode(): TextCellLineBreakMode;
    set lineBreakMode(v: TextCellLineBreakMode);
    /**
     * Gets or sets the virtualization percentage value. This is between 0 an 1, and indicates how virtual the content is at present.
    */
    get virtualizationPercentage(): number;
    set virtualizationPercentage(v: number);
    /**
     * Gets or sets the left padding to use for the content.
    */
    get paddingLeft(): number;
    set paddingLeft(v: number);
    /**
     * Gets or sets the top padding to use for the content.
    */
    get paddingTop(): number;
    set paddingTop(v: number);
    /**
     * Gets or sets the right padding to use for the content.
    */
    get paddingRight(): number;
    set paddingRight(v: number);
    /**
     * Gets or sets the bottom padding to use for the content.
    */
    get paddingBottom(): number;
    set paddingBottom(v: number);
    /**
     * Gets or sets the left padding to use for the content.
    */
    get actualPaddingLeft(): number;
    set actualPaddingLeft(v: number);
    /**
     * Gets or sets the top padding to use for the content.
    */
    get actualPaddingTop(): number;
    set actualPaddingTop(v: number);
    /**
     * Gets or sets the right padding to use for the content.
    */
    get actualPaddingRight(): number;
    set actualPaddingRight(v: number);
    /**
     * Gets or sets the bottom padding to use for the content.
    */
    get actualPaddingBottom(): number;
    set actualPaddingBottom(v: number);
    /**
     * Gets or sets the left border to use for the content.
    */
    get borderLeftWidth(): number;
    set borderLeftWidth(v: number);
    /**
     * Gets or sets the top border to use for the content.
    */
    get borderTopWidth(): number;
    set borderTopWidth(v: number);
    /**
     * Gets or sets the right border to use for the content.
    */
    get borderRightWidth(): number;
    set borderRightWidth(v: number);
    /**
     * Gets or sets the bottom border to use for the content.
    */
    get borderBottomWidth(): number;
    set borderBottomWidth(v: number);
    /**
     * Gets or sets the left activation border to use for the content.
    */
    get activationBorderLeftWidth(): number;
    set activationBorderLeftWidth(v: number);
    /**
     * Gets or sets the top activation border to use for the content.
    */
    get activationBorderTopWidth(): number;
    set activationBorderTopWidth(v: number);
    /**
     * Gets or sets the right activation border to use for the content.
    */
    get activationBorderRightWidth(): number;
    set activationBorderRightWidth(v: number);
    /**
     * Gets or sets the bottom activation border to use for the content.
    */
    get activationBorderBottomWidth(): number;
    set activationBorderBottomWidth(v: number);
    /**
     * Gets or sets the left error border to use for the content.
    */
    get errorBorderLeftWidth(): number;
    set errorBorderLeftWidth(v: number);
    /**
     * Gets or sets the top error border to use for the content.
    */
    get errorBorderTopWidth(): number;
    set errorBorderTopWidth(v: number);
    /**
     * Gets or sets the right error border to use for the content.
    */
    get errorBorderRightWidth(): number;
    set errorBorderRightWidth(v: number);
    /**
     * Gets or sets the bottom error border to use for the content.
    */
    get errorBorderBottomWidth(): number;
    set errorBorderBottomWidth(v: number);
    /**
     * Gets or sets the actual left border to use for the content.
    */
    get actualBorderLeftWidth(): number;
    set actualBorderLeftWidth(v: number);
    /**
     * Gets or sets the actual top border to use for the content.
    */
    get actualBorderTopWidth(): number;
    set actualBorderTopWidth(v: number);
    /**
     * Gets or sets the actual right border to use for the content.
    */
    get actualBorderRightWidth(): number;
    set actualBorderRightWidth(v: number);
    /**
     * Gets or sets the actual bottom border to use for the content.
    */
    get actualBorderBottomWidth(): number;
    set actualBorderBottomWidth(v: number);
    /**
     * Gets the current sort direction for the column containing the cell.
    */
    get sortDirection(): ColumnSortDirection;
    set sortDirection(v: ColumnSortDirection);
    /**
     * Gets the expansion state of the cell.
    */
    get isExpanded(): boolean;
    set isExpanded(v: boolean);
    /**
     * Gets if the cell needs to display an expansion indicator.
    */
    get isCollapsable(): boolean;
    set isCollapsable(v: boolean);
    /**
     * Gets the fixed column position of this cell.
    */
    get pinned(): PinnedPositions;
    set pinned(v: PinnedPositions);
    get editFont(): string;
    set editFont(v: string);
    /**
     * Gets whether the cell has been edited.
    */
    get isEdited(): boolean;
    set isEdited(v: boolean);
    /**
     * Gets whether the cell is part of a deleted row.
    */
    get isDeleted(): boolean;
    set isDeleted(v: boolean);
    /**
     * Gets or sets the error message for the cell.
    */
    get editError(): string;
    set editError(v: string);
    /**
     * Gets whether the cell is in edit mode.
    */
    get isInEditMode(): boolean;
    set isInEditMode(v: boolean);
    get editID(): number;
    set editID(v: number);
    findByName(name: string): any;
    isCustomFieldDirty(propertyName: string): boolean;
    /**
     * Gets if a named property is dirty.
    
    * @param propertyId  * The property id to check.
    */
    isDirtyById(propertyId_: number): boolean;
    /**
     * Gets if a named property is dirty.
    
    * @param propertyName  * The property name to check.
    */
    isDirty(propertyName: string): boolean;
    setNamedValue(valueName: string, value: any): void;
    /**
     * Returns if there is a named value stored for the cell.
    
    * @param valueName  * The name of the value to check.
    */
    hasNamedValue(valueName: string): boolean;
    /**
     * Removes a named value from the cell.
    
    * @param valueName  * The name of the value to remove.
    */
    removeNamedValue(valueName: string): void;
    /**
     * Gets a named value from the cell.
    
    * @param valueName  * The name of the value to get.
    */
    getNamedValue(valueName: string): any;
}
