import Context from "./Context";
import type DataGrid from "./DataGrid";
interface RowHeaderOptions {
    borderColor?: string;
    fillColor?: string;
    borderWidth?: number;
    color?: string;
    checked?: boolean;
    /** 数据驱动模式下的序号值（undefined 表示不显示序号） */
    dataIndex?: number | string;
    /** 父级分组层级（0/1/2），用于序号列分层背景色 */
    parentGroupLevel?: number;
}
declare class RowHeader extends Context {
    rowIndex: number;
    text: string | number;
    checked: boolean;
    borderColor?: string;
    fillColor?: string;
    borderWidth?: number;
    color?: string;
    /** 父级分组层级（0/1/2），用于序号列分层背景色 */
    parentGroupLevel?: number;
    constructor(grid: DataGrid, rowIndex: number, x: number, y: number, width: number, height: number, options?: RowHeaderOptions);
    handleCheck(val: boolean): void;
    /**
     * Get the checkbox X offset for this row header.
     * In grouped mode, align with the leaf group header's checkbox position.
     * Group header checkbox formula: this.x + 18 + getLevelIndent(groupLevel)
     * where getLevelIndent(0) = 0, getLevelIndent(1+) = LEVEL0_WIDTH (6px)
     */
    private getCheckboxLeftOffset;
    /**
     * Override checkbox boundary detection to match the actual checkbox position
     * in grouped table mode (aligned with group header checkbox).
     */
    isInsideCheckboxBoundary(mouseX: number, _mouseY: number): boolean;
    /**
     * Override index boundary detection to account for shifted checkbox position
     * in grouped table mode.
     */
    isInsideIndexBoundary(mouseX: number, _mouseY: number): boolean;
    /**
     * Draw border lines only in the data area (right of color bars).
     * Color bar area should NOT have cell borders to preserve visual hierarchy.
     *
     * NOTE: fillRect uses +0.5 Y offset (matching Cell's drawRect pattern) so that
     * the next row's fill starts at (y + height + 0.5), only covering the bottom
     * half of this row's bottom border — keeping the top half visible (consistent
     * with how Cell borders work).
     *
     * @param ctx - Canvas context
     * @param cellX - Cell left edge X
     * @param cellY - Cell top edge Y (already includes +0.5 offset)
     * @param cellWidth - Total cell width
     * @param barWidth - Total width of color bars (left side to skip)
     */
    private drawDataAreaBorder;
    draw(): void;
}
export default RowHeader;
