/** Cursor shapes the inline Ghostty canvas can draw. */ export type TerminalCursorShape = 'block' | 'underline' | 'bar' | 'blockHollow'; /** High-level cursor presentation for a single paint. */ export type TerminalCursorDisplay = 'solid' | 'hidden' | 'hollow'; /** * Decide how the cursor should appear for the current focus/blink phase. * Unfocused terminals always use a steady hollow block; focused terminals * honor the model blink flag and the local blink phase. */ export declare function resolveTerminalCursorDisplay(options: { focused: boolean; modelVisible: boolean; modelBlinking: boolean; blinkPhaseVisible: boolean; }): TerminalCursorDisplay; /** * Map a display mode + terminal-requested style to the concrete shape to draw. * Blur always forces a bordered block regardless of DECSCUSR style. */ export declare function resolveTerminalCursorShape(display: TerminalCursorDisplay, modelStyle?: TerminalCursorShape): TerminalCursorShape | null; /** Official ghostty-vt CURSOR_VISUAL_STYLE enum values. */ export declare function mapGhosttyCursorVisualStyle(value: number): TerminalCursorShape; export interface TerminalCursorDrawRect { x: number; y: number; width: number; height: number; } /** * Compute the canvas-space geometry for a cursor cell. Pure helper for tests * and for the inline terminal overlay painter. */ export declare function terminalCursorCellRect(col: number, row: number, cellWidth: number, cellHeight: number): TerminalCursorDrawRect; /** Draw a solid/hollow cursor into a 2D canvas context (CSS pixel space). */ export declare function drawTerminalCursor(ctx: Pick, options: { shape: TerminalCursorShape; color: string; rect: TerminalCursorDrawRect; }): void; //# sourceMappingURL=terminal-cursor.d.ts.map