import type { CursorState } from './types.js';
export declare function normalizeAgentTitle(title: string): string;
export declare function isComposerUuid(id: string | undefined): id is string;
export declare function resolveCursorActiveComposerId(state: CursorState): string | undefined;
/** Cursor is generating for this composer (active tab or sidebar spinner). */
export declare function isAgentGenerating(agentId: string, state: CursorState): boolean;
/** Live DOM applies only when the subscribed app chat matches Cursor's active composer. */
export declare function isChatSyncedWithCursor(selectedAgentId: string | undefined, selectedTitle: string | undefined, state: Pick<CursorState, 'activeComposerId' | 'tabs' | 'composerIdByTitle' | 'activeChatTitle'>): boolean;
