/**
 * BooleanViewer - Boolean/Checkbox rendering viewer
 * Handles boolean value display with checkbox, switch, or text styles
 */
import type { CellViewer, ViewerRenderContext, BooleanViewerData } from './types';
/**
 * BooleanViewer renders boolean values in cells
 * Supports checkbox, switch, and text display styles
 */
declare class BooleanViewer implements CellViewer<BooleanViewerData> {
    readonly type = "boolean";
    readonly hideEditIcon = true;
    /**
     * Handle click on boolean cell
     * Returns true if the click was on the checkbox/switch area
     * 注意：实际的值切换、乐观更新、onValueChange 回调和重绘由 Row.mouseDown 统一处理
     * 此方法仅做命中检测，返回 true 表示点击在交互区域内
     */
    onClick(context: ViewerRenderContext, data: BooleanViewerData, localX: number, localY: number): boolean;
    /**
     * 鼠标悬停在 checkbox/switch 交互区域时显示指针光标
     * 注意：不能调用 onClick，否则会在 mousemove 时触发值变更
     */
    getInteractiveCursor(context: ViewerRenderContext, data: BooleanViewerData, localX: number, localY: number): string | null;
    /**
     * 命中检测：判断 localX/localY 是否在 checkbox/switch 交互区域内
     */
    private hitTestArea;
    /**
     * Draw boolean content in the cell
     */
    draw(context: ViewerRenderContext, data: BooleanViewerData): void;
    /**
     * Draw checkbox style
     * Colors are sourced from theme tokens (StyleManager) so the checkbox
     * adapts to light/dark/blue themes consistently.
     *  - checkboxChecked        : filled bg (editable + checked)
     *  - checkboxCheckedDisabled: filled bg (readonly + checked)
     *  - checkboxBorder         : border    (editable + unchecked)
     *  - checkboxBorderDisabled : border    (readonly + unchecked)
     * `data.checkedColor` may override the editable-checked fill color.
     */
    private drawCheckbox;
    /**
     * Draw switch style
     */
    private drawSwitch;
    /**
     * Draw text style
     */
    private drawText;
    /**
     * Draw a filled rounded rectangle
     */
    private drawRoundedRect;
    /**
     * Draw a stroked rounded rectangle
     */
    private drawRoundedRectStroke;
}
export default BooleanViewer;
