/**
 * Full-screen panels — terminal port of the design's `oc-panel` blocks.
 *
 * Three panels share a common chrome:
 *   {accent}OC{reset} {ink-hi bold}{title}{reset}  {ink-dim}{subtitle}
 *   {hairFaint horizontal rule}
 *
 * Sessions panel maps to `oc-sess` (5-col row: mark / title / repo / time / turns).
 * Settings panel maps to `oc-set` (label : value rows + a dashed group separator).
 * MCP panel maps to `oc-mcp` (●/✗/◌ dot + name + desc + tools + act).
 */
export interface SessionPanelItem {
    id: string;
    title?: string;
    turns: unknown[];
    createdAt: string | number | Date;
    updatedAt: string | number | Date;
    model?: string;
}
export interface McpPanelServer {
    name: string;
    status: string;
    serverInfo?: {
        name?: string;
        version?: string;
    } | null;
    tools: Array<{
        name: string;
    }>;
    resources: unknown[];
    error?: string;
}
export interface SettingsPanelOptions {
    version: string;
    model: string;
    maxTokens: number;
    mode: string;
    trace: boolean;
    owlcodaHome: string;
    apiBaseUrl?: string;
    approveMode: 'auto-approve' | 'ask-before-execute';
    theme: string;
    alwaysApprovedTools: string[];
    columns?: number;
}
export declare function renderSessionsPanel(sessions: SessionPanelItem[], opts?: {
    columns?: number;
    limit?: number;
    selectedIndex?: number;
}): string;
export declare function renderSessionInfoPanel(session: SessionPanelItem, columns?: number): string;
export declare function renderMcpPanel(servers: McpPanelServer[], columns?: number): string;
export declare function renderSettingsPanel(opts: SettingsPanelOptions): string;
