import type { TodoItem } from "../../util/todo-sync.js";
export declare function mergeTodos(existing: TodoItem[], incoming: TodoItem[]): TodoItem[];
export declare const CHAT_STARTUP_FAILURE_OUTPUT_LIMIT = 4000;
export declare function appendRecentChatOutput(current: string, data: string): string;
export declare function sanitizeChatStartupFailureOutput(output: string): string;
export declare function isKimiPromptReadyLine(line: string): boolean;
export declare function formatResourceCount(count: number, scope: string): string;
export type ChatLayout = "auto" | "tmux" | "inline" | "plain";
export type ChatBrand = "omk" | "minimal" | "plain" | "green-rain" | "neon-grid" | "rust-forge";
export type ChatUi = "legacy" | "plain-modern" | "rich" | "system24" | "green-rain" | "neon-grid" | "rust-forge";
export declare function resolveLayout(requested: ChatLayout | undefined): ChatLayout;
export declare function defaultChatUiForBrand(brand: ChatBrand | undefined): ChatUi | undefined;
export declare function resolveChatUi(requested: string | undefined, env?: NodeJS.ProcessEnv): ChatUi;
export declare function resolveChatWorkerCount(requested: string | undefined, fallback: number): string;
export declare function renderChatIntro(brand: ChatBrand, meta: {
    agent: string;
    runId?: string;
    layout: ChatLayout;
    trust: string;
    mode?: string;
}): string;
export declare function verifyAgentPrompt(agentFile: string): Promise<boolean>;
export declare function getActiveMcpNames(scope: "all" | "project" | "none"): Promise<string[]>;
export declare function getActiveSkillNames(skillsScope: "all" | "project" | "none"): Promise<string[]>;
export declare function getActiveHookNames(root: string, hooksScope: "all" | "project" | "none"): Promise<string[]>;
