import type Context from './Context';
import type { Align, Column, Fixed, LineClampType, Render, RenderType, Type, VerticalAlign } from './types';
import BaseCell from './BaseCell';
import { Rule, Rules } from './Validator';
export default class CellHeader extends BaseCell {
    align: Align;
    hideHeaderSelection: boolean;
    verticalAlign: VerticalAlign;
    fixed?: Fixed;
    minWidth?: number;
    maxWidth?: number;
    widthFillDisable: boolean;
    type: Type | '';
    operation: boolean;
    editorType: string;
    level: number;
    text: string;
    hide: boolean;
    displayText: string;
    colspan: number;
    rowspan: number;
    row: any;
    key: string;
    required: boolean;
    readonly: boolean;
    ellipsis: boolean;
    overflowTooltipShow: boolean;
    children: Column[];
    column: Column;
    colIndex: number;
    rowKey: string;
    rules?: Rules | Rule;
    hasChildren: boolean;
    render: Render;
    style: Partial<CSSStyleDeclaration>;
    drawX: number;
    drawY: number;
    sortIconName: string;
    sortAscIconName: string;
    sortDescIconName: string;
    visibleWidth: number;
    visibleHeight: number;
    maxLineClampHeader: LineClampType;
    domDataset: any;
    drawTextX: number;
    drawTextY: number;
    drawTextWidth: number;
    drawTextHeight: number;
    drawCellBgColor: string;
    drawTextColor: string;
    drawTextFont: string;
    drawSelectionImageX: number;
    drawSelectionImageY: number;
    drawSelectionImageWidth: number;
    drawSelectionImageHeight: number;
    drawSelectionImageName: string;
    drawSelectionImageSource?: HTMLImageElement;
    drawSortImageX: number;
    drawSortImageY: number;
    drawSortImageWidth: number;
    drawSortImageHeight: number;
    drawSortImageName: string;
    drawSortImageSource?: HTMLImageElement;
    renderHeaderType: RenderType;
    constructor(ctx: Context, colIndex: number, x: number, y: number, width: number, height: number, column: Column);
    /**
     * 是否可见，覆盖基类方法，表头是跟y滚动条没有关系的所以不需要加滚动参数
     * @returns
     */
    isVerticalVisible(): boolean;
    /**
     * 更新样式
     */
    updateStyle(): void;
    updateContainer(): void;
    update(): void;
    draw(): void;
    private drawEdge;
    private drawText;
    private drawBg;
    private drawSelection;
    private drawSortIcon;
    getText(): string;
    /**
     * 获取样式
     */
    getOverlayerViewsStyle(): {
        position: string;
        overflow: string;
        left: string;
        top: string;
        width: string;
        height: string;
        pointerEvents: string;
        userSelect: string;
    };
}
