import type { CustomTheme } from "shared/types/index.js";
export type QuickModel = "haiku" | "sonnet" | "opus";
export interface QuickCompletionOptions {
    /** The user prompt to send. */
    prompt: string;
    /** System prompt instructing how to respond. */
    systemPrompt?: string;
    /** Model to use. Auto-routes to latest version. Default: "haiku". */
    model?: QuickModel;
    /** Claude Code tools to make available alongside return_result. Default: [] (none). */
    tools?: string[];
    /** Effort level for reasoning. Default: "low". */
    effort?: "low" | "medium" | "high";
}
export interface QuickCompletionResult {
    /** The text result returned via the return_result MCP tool. */
    text: string;
    /** Token usage and cost. */
    usage: {
        inputTokens: number;
        outputTokens: number;
        costUsd: number;
    };
    /** Wall-clock duration in milliseconds. */
    durationMs: number;
}
/**
 * Run a single, ephemeral completion request via the Agent SDK.
 *
 * This is intentionally minimal: no session persistence, no Claude Code tools
 * (unless explicitly requested), no permission prompts, no filesystem settings.
 * The result is captured via a `return_result` MCP tool call.
 *
 * For interactive agent sessions, use claude.ts / sendMessage() instead.
 */
export declare function quickCompletion(opts: QuickCompletionOptions): Promise<QuickCompletionResult>;
/**
 * Generate a brief, descriptive title for a chat conversation
 * from the first user message.
 *
 * Uses Haiku for speed and cost-efficiency.
 * Returns null if generation fails (callers should fall back to a truncated message).
 */
export declare function generateChatTitle(firstMessage: string): Promise<string | null>;
/**
 * Generate a git-safe branch name from a natural language request.
 *
 * Output format: <type>/<kebab-case-description>
 *   e.g., "feat/add-dark-mode-toggle", "fix/login-redirect-loop"
 *
 * Uses Haiku for speed. Returns null on failure.
 */
export declare function generateBranchName(request: string): Promise<string | null>;
/**
 * Generate a complete custom theme via AI from a natural language description.
 *
 * Uses Sonnet for higher quality color design. The AI returns a JSON object
 * with dark and light mode CSS variable values.
 *
 * Returns null if generation fails.
 */
export declare function generateThemeCSS(name: string, description: string): Promise<CustomTheme | null>;
//# sourceMappingURL=quick-completion.d.ts.map