/**
 * Session title utilities.
 *
 * Pure helpers for title sanitization and default-title detection.
 * Title generation now happens via the backend GraphQL mutation
 * `generateSessionTitle`, called from the landing frontend after the
 * first assistant turn completes. The CLI no longer has its own LLM
 * pipeline for titles — the landing→backend→CLI REST PATCH flow
 * handles both the rename and the cross-tab meta publish.
 */
export declare const SESSION_TITLE_DEFAULT = "New conversation";
/** True if `title` looks like the auto-generated default and is fair game. */
export declare function isDefaultTitle(title: string | null | undefined): boolean;
/**
 * Sanitize raw LLM output into a usable session title.
 * Returns `null` if nothing usable remains.
 */
export declare function sanitizeTitle(raw: string): string | null;
/**
 * A function that takes a prompt string and returns LLM output text.
 * Tests inject stubs here; production code no longer uses this type
 * since the CLI-side auto-title pipeline was removed.
 */
export type LlmCall = (prompt: string) => Promise<string>;
//# sourceMappingURL=title-generator.d.ts.map