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;
    readonly 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;
    readonly resolvedTextAlign: "left" | "right" | "center";
    readonly resolvedContentOpacity: number;
    /**
 * Gets the style key of the current cell, used for recycling.
*/
    styleKey: string;
    /**
     * Gets the absolute data row for the current cell.
    */
    dataRow: number;
    /**
     * Gets if the position of the cell is dirty.
    */
    isPositionDirty: boolean;
    /**
     * Gets if the size of the cell is dirty.
    */
    isSizeDirty: boolean;
    /**
     * Gets if the content of the cell is dirty.
    */
    isContentDirty: boolean;
    /**
     * Gets if the content of the cell is dirty.
    */
    isBorderDirty: boolean;
    /**
     * Gets if the layer of the cell is dirty.
    */
    isLayerDirty: boolean;
    /**
     * Gets if the layer of the cell is dirty.
    */
    isStateDirty: boolean;
    /**
     * Gets if the data of the cell is dirty.
    */
    isDataDirty: boolean;
    /**
     * Gets if placeholder content is needed when virtualized.
    */
    isPlaceholdContentNeeded: boolean;
    /**
     * Gets the action manager to propagate actions back to the grid.
    */
    actionManager: ICellActionManager;
    /**
     * Gets if this cell belongs to a row that has been marked as pinned.
    */
    isRowPinned: boolean;
    /**
     * Gets if this cell belongs to a row that will stick to the top of the grid.
    */
    isRowSticky: boolean;
    /**
     * Gets if this cell is the last row that can stick to the top of the grid.
    */
    isLastStickyRow: boolean;
    /**
     * Gets the indent level of the cell.
    */
    indent: number;
    rowItem: any;
    /**
     * Gets the X position of the cell within the content.
    */
    x: number;
    /**
     * Gets the Y position of the cell within the content.
    */
    y: number;
    /**
     * Gets the pixel snapped X position of the cell within the content.
    */
    snappedX: number;
    /**
     * Gets the snapped Y position of the cell within the content.
    */
    snappedY: number;
    /**
     * Gets or sets the opacity for cells that have unsaved edits.
    */
    editOpacity: number;
    /**
     * Gets or sets the opacity of the content of the cell.
    */
    contentOpacity: number;
    /**
     * Gets the actual content opacity of the cell.
    */
    actualContentOpacity: number;
    /**
     * Gets or sets the opacity of the cell.
    */
    opacity: number;
    /**
     * Gets the actual opacity of the cell.
    */
    actualOpacity: number;
    /**
     * Gets the height of the cell.
    */
    height: number;
    /**
     * Gets the width of the cell.
    */
    width: number;
    /**
     * Gets if the cell is selected.
    */
    isSelected: boolean;
    /**
     * Gets the amount that the cell is selected. This is a value between 0 and 1.
    */
    selectedStatus: number;
    /**
     * Gets the amount that the cell is activated. This is a value between 0 and 1.
    */
    activationStatus: number;
    /**
     * Gets the amount that the cell is hovered. This is a value between 0 and 1.
    */
    hoverStatus: number;
    /**
     * Gets or sets the horiztonal alignment of the cell content.
    */
    horizontalAlignment: CellContentHorizontalAlignment;
    /**
     * Gets or sets the vertical alignment of the cell content.
    */
    verticalAlignment: CellContentVerticalAlignment;
    /**
     * Gets or sets the background color of the cell.
    */
    background: string;
    /**
     * Gets or sets the border color of the cell.
    */
    border: string;
    /**
     * Gets the actual background color of the cell
    */
    actualBackground: string;
    /**
     * Gets the actual background color of the cell
    */
    actualBorder: string;
    /**
     * Gets the actual background color of the cell
    */
    activationBorder: string;
    /**
     * Gets or sets the error border color of the cell.
    */
    errorBorder: string;
    /**
     * Gets or sets the selected background color of the cell.
    */
    selectedBackground: string;
    /**
     * Gets or sets the hover background color of the cell.
    */
    hoverBackground: string;
    /**
     * Gets or sets the hover text color of the cell.
    */
    hoverTextColor: string;
    /**
     * Gets or sets the color for the sort indicator icon.
    */
    sortIndicatorColor: string;
    /**
     * Gets or sets the background color for the cell when it is stuck to the top of the grid as a pinned row.
    */
    stickyRowBackground: string;
    /**
     * Gets or sets the background color for the cell that has been marked as pinned.
    */
    pinnedRowBackground: string;
    /**
     * Gets or sets the color for the last row in the sticky row area.
    */
    lastStickyRowBackground: string;
    /**
     * Gets or sets the color to use for displaying text.
    */
    pinnedRowOpacity: number;
    /**
     * Gets or sets the original value for the cell, before processing.
    */
    originalValue: any;
    /**
     * Gets or sets the text value, if any, which was rendered by a text cell.
    */
    renderValue: string;
    /**
     * Gets or sets the color of the text for the cell, if any.
    */
    textColor: string;
    /**
     * Gets the actual color of the text for the cell, if any.
    */
    actualTextColor: string;
    /**
     * Gets or sets the text color for cells in deleted rows.
    */
    deletedTextColor: string;
    font: string;
    actualFont: string;
    /**
     * Gets or sets the line break mode to use if text is present in the cell.
    */
    lineBreakMode: TextCellLineBreakMode;
    /**
     * Gets or sets the virtualization percentage value. This is between 0 an 1, and indicates how virtual the content is at present.
    */
    virtualizationPercentage: number;
    /**
     * Gets or sets the left padding to use for the content.
    */
    paddingLeft: number;
    /**
     * Gets or sets the top padding to use for the content.
    */
    paddingTop: number;
    /**
     * Gets or sets the right padding to use for the content.
    */
    paddingRight: number;
    /**
     * Gets or sets the bottom padding to use for the content.
    */
    paddingBottom: number;
    /**
     * Gets or sets the left padding to use for the content.
    */
    actualPaddingLeft: number;
    /**
     * Gets or sets the top padding to use for the content.
    */
    actualPaddingTop: number;
    /**
     * Gets or sets the right padding to use for the content.
    */
    actualPaddingRight: number;
    /**
     * Gets or sets the bottom padding to use for the content.
    */
    actualPaddingBottom: number;
    /**
     * Gets or sets the left border to use for the content.
    */
    borderLeftWidth: number;
    /**
     * Gets or sets the top border to use for the content.
    */
    borderTopWidth: number;
    /**
     * Gets or sets the right border to use for the content.
    */
    borderRightWidth: number;
    /**
     * Gets or sets the bottom border to use for the content.
    */
    borderBottomWidth: number;
    /**
     * Gets or sets the left activation border to use for the content.
    */
    activationBorderLeftWidth: number;
    /**
     * Gets or sets the top activation border to use for the content.
    */
    activationBorderTopWidth: number;
    /**
     * Gets or sets the right activation border to use for the content.
    */
    activationBorderRightWidth: number;
    /**
     * Gets or sets the bottom activation border to use for the content.
    */
    activationBorderBottomWidth: number;
    /**
     * Gets or sets the left error border to use for the content.
    */
    errorBorderLeftWidth: number;
    /**
     * Gets or sets the top error border to use for the content.
    */
    errorBorderTopWidth: number;
    /**
     * Gets or sets the right error border to use for the content.
    */
    errorBorderRightWidth: number;
    /**
     * Gets or sets the bottom error border to use for the content.
    */
    errorBorderBottomWidth: number;
    /**
     * Gets or sets the actual left border to use for the content.
    */
    actualBorderLeftWidth: number;
    /**
     * Gets or sets the actual top border to use for the content.
    */
    actualBorderTopWidth: number;
    /**
     * Gets or sets the actual right border to use for the content.
    */
    actualBorderRightWidth: number;
    /**
     * Gets or sets the actual bottom border to use for the content.
    */
    actualBorderBottomWidth: number;
    /**
     * Gets the current sort direction for the column containing the cell.
    */
    sortDirection: ColumnSortDirection;
    /**
     * Gets the expansion state of the cell.
    */
    isExpanded: boolean;
    /**
     * Gets if the cell needs to display an expansion indicator.
    */
    isCollapsable: boolean;
    /**
     * Gets the fixed column position of this cell.
    */
    pinned: PinnedPositions;
    editFont: string;
    /**
     * Gets whether the cell has been edited.
    */
    isEdited: boolean;
    /**
     * Gets whether the cell is part of a deleted row.
    */
    isDeleted: boolean;
    /**
     * Gets or sets the error message for the cell.
    */
    editError: string;
    /**
     * Gets whether the cell is in edit mode.
    */
    isInEditMode: boolean;
    editID: 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;
}
