export declare function summarizeTask(task: string, maxChars?: number): string;
export declare function taskDisplayLabel(run: {
    task: string;
    taskSummary?: string;
}, maxChars?: number): string;
/**
 * Resolve an Anthropic API key from the environment or the saved anthropic auth
 * profile. Returns "" when none is available.
 */
export declare function resolveAnthropicApiKey(): Promise<string>;
/**
 * Generic single-shot LLM text call reused by the planner. Tries the Anthropic
 * API (when a key is available) then falls back to the `claude` CLI, mirroring
 * llmSummarizeTask's degradation path. Throws only when neither path is usable
 * AND no output was produced, so callers can surface a clear error.
 */
export declare function callTextModel(params: {
    model: string;
    system: string;
    user: string;
    maxTokens?: number;
    timeoutMs?: number;
}): Promise<string>;
export declare function llmSummarizeTask(task: string): Promise<string | null>;
