export interface Color {
    fg?: string;
    bg?: string;
}
export interface CanvasCell {
    char: string;
    color: Color;
}
/**
 * A braille-based pixel canvas
 *
 * Canvas dimensions are in "pixels" (dots), internally stored as braille chars.
 * Width should be even (each braille char is 2 pixels wide).
 * Height should be multiple of 4 (each braille char is 4 pixels tall).
 */
export declare class BrailleCanvas {
    private width;
    private height;
    private charWidth;
    private charHeight;
    private pixels;
    private colors;
    constructor(width: number, height: number);
    /**
     * Clear the canvas
     */
    clear(): void;
    /**
     * Set a single pixel
     */
    setPixel(x: number, y: number, on?: boolean): void;
    /**
     * Get a pixel value
     */
    getPixel(x: number, y: number): boolean;
    /**
     * Set color for a braille character cell
     * @param cx - Character x position (0 to charWidth-1)
     * @param cy - Character y position (0 to charHeight-1)
     * @param color - Color specification
     */
    setCellColor(cx: number, cy: number, color: Color): void;
    /**
     * Set color for a pixel (affects the containing braille cell)
     */
    setPixelColor(x: number, y: number, color: Color): void;
    /**
     * Draw a line using Bresenham's algorithm
     */
    drawLine(x0: number, y0: number, x1: number, y1: number): void;
    /**
     * Draw a filled rectangle
     */
    fillRect(x: number, y: number, w: number, h: number): void;
    /**
     * Draw a circle outline
     */
    drawCircle(cx: number, cy: number, r: number): void;
    /**
     * Convert canvas to a single row of braille characters with colors
     * Returns an array of cells, one per braille character
     */
    toCells(): CanvasCell[][];
    /**
     * Render canvas to a string with ANSI colors
     */
    render(): string;
    /**
     * Render to a single line (for single-row canvases)
     */
    renderLine(): string;
    /**
     * Get canvas dimensions
     */
    getWidth(): number;
    getHeight(): number;
    getCharWidth(): number;
    getCharHeight(): number;
}
/**
 * Create a simple braille character from an 8-bit pattern
 */
export declare function brailleFromBits(bits: number): string;
/**
 * Create a braille character from a 2x4 boolean array
 * array[y][x] where y is 0-3, x is 0-1
 */
export declare function brailleFromArray(dots: boolean[][]): string;
//# sourceMappingURL=braille-canvas.d.ts.map