import type { Column, Fixed, Type, Align, VerticalAlign, CellType, Render, FormatterMethod, OverflowTooltipPlacement, Rules, SpanInfo } from './types';
import Context from './Context';
import BaseCell from './BaseCell';
export default class Cell extends BaseCell {
    formatter?: FormatterMethod;
    formatterFooter?: FormatterMethod;
    hoverIconName?: string;
    operation: boolean;
    align: Align;
    verticalAlign: VerticalAlign;
    fixed?: Fixed;
    type: Type | '';
    editorType: string;
    editorProps: any;
    cellType: CellType;
    level: number;
    colspan: number;
    rowspan: number;
    mergeRow: boolean;
    mergeCol: boolean;
    relationRowKeys: string[];
    relationColKeys: string[];
    key: string;
    column: Column;
    rowIndex: number;
    colIndex: number;
    rowKey: string;
    row: any;
    value: any;
    render: Render;
    renderFooter: Render;
    style: any;
    rules: Rules;
    message: string;
    text: string;
    displayText: string;
    visibleWidth: number;
    visibleHeight: number;
    isHasChanged: boolean;
    drawX: number;
    drawY: number;
    drawCellBgColor: string;
    drawCellSkyBgColor: string;
    drawTextColor: string;
    drawTextX: number;
    drawTextY: number;
    drawImageX: number;
    drawImageY: number;
    drawImageWidth: number;
    drawImageHeight: number;
    drawImageName: string;
    drawImageSource?: HTMLImageElement;
    ellipsis: boolean;
    rowExpand: boolean;
    rowHasChildren: boolean;
    overflowTooltipShow: boolean;
    overflowTooltipMaxWidth: number;
    overflowTooltipPlacement: OverflowTooltipPlacement;
    constructor(ctx: Context, rowIndex: number, colIndex: number, x: number, y: number, width: number, height: number, column: Column, row: any, cellType?: CellType);
    setWidthHeight(width: number, height: number): void;
    getValidationMessage(): string;
    update(): void;
    updateSpan(): void;
    updateSpanInfo(): void;
    updateType(): void;
    updateEditor(): void;
    updateRender(): void;
    validate(): void;
    /**
     * 更新样式
     */
    updateStyle(): void;
    private updateTree;
    private updateContainer;
    private updateSelection;
    private updateHoverIcon;
    getSpanInfo(): SpanInfo;
    /**
     * 获取显示文本
     * @returns
     */
    getDisplayText(): string;
    /**
     * 获取文本
     * @returns
     */
    getText(): any;
    getValue(): any;
    setValue(value: any): void;
    /**
     * 获取样式
     */
    getOverlayerViewsStyle(): {
        position: string;
        overflow: string;
        left: string;
        top: string;
        width: string;
        height: string;
        pointerEvents: string;
        userSelect: string;
    };
    draw(): void;
    /**
     * 根据列的索引获取列的宽度
     * @param {Number} colIndex
     */
    private getWidthByColIndexColSpan;
    private drawText;
    private drawImage;
    private drawAutofillPiont;
    private drawSelector;
    private drawErrorTip;
    private drawBorder;
}
