import type { ColorMode } from "../../app/ports/terminal-port.js"; import { type Theme } from "./theme.js"; import { type HighlightCarry } from "./syntax-highlight.js"; export declare const CODE_BLOCK_CHROME = 4; export interface CodeBlockAppearance { readonly theme?: Theme | undefined; readonly colorMode?: ColorMode | undefined; } export interface CodeFenceState { readonly marker: string; readonly label: string; readonly langPath: string; readonly carry: HighlightCarry; pendingBlanks: number; } export declare function matchCodeFenceOpen(line: string): { marker: string; info: string; } | undefined; export declare function isCodeFenceClose(line: string, marker: string): boolean; export declare function openCodeFence(marker: string, info: string): CodeFenceState; export declare function codeBlockWidth(wrapWidth: number): number; export declare function trimCodeBlockBody(lines: readonly string[]): string[]; export declare function codeBlockFitWidth(lines: readonly string[], label: string, available: number): number; export declare function codeBlockTop(label: string, width: number, appearance?: CodeBlockAppearance): string; export declare function codeBlockBottom(width: number, appearance?: CodeBlockAppearance): string; export declare function codeBlockRow(body: string, bodyWidth: number, width: number, appearance?: CodeBlockAppearance): string; export declare function codeBlockRows(source: string, fence: CodeFenceState, width: number, appearance?: CodeBlockAppearance): string[];