type EmbeddedPiQueueHandle = {
    queueMessage: (text: string) => Promise<void>;
    isStreaming: () => boolean;
    isCompacting: () => boolean;
    abort: () => void;
};
export type EmbeddedRunModelSwitchRequest = {
    provider: string;
    model: string;
    authProfileId?: string;
    authProfileIdSource?: string;
};
export type EmbeddedRunSnapshot = {
    messages?: unknown[];
    inFlightPrompt?: string;
    transcriptLeafId?: string | null;
};
export declare function queueEmbeddedPiMessage(sessionId: string, text: string): boolean;
export declare function abortEmbeddedPiRun(sessionId: string): boolean;
export declare function requestEmbeddedRunModelSwitch(sessionId: string, request: EmbeddedRunModelSwitchRequest): void;
export declare function consumeEmbeddedRunModelSwitch(sessionId: string): EmbeddedRunModelSwitchRequest | undefined;
export declare function isEmbeddedPiRunActive(sessionId: string): boolean;
export declare function isEmbeddedPiRunStreaming(sessionId: string): boolean;
export declare function resolveActiveEmbeddedRunSessionId(sessionId?: string): string | undefined;
export declare function getActiveEmbeddedRunCount(): number;
export declare function getActiveEmbeddedRunSnapshot(sessionId: string): EmbeddedRunSnapshot | undefined;
export declare function setActiveEmbeddedRunSnapshot(sessionId: string, snapshot: EmbeddedRunSnapshot): void;
export declare function clearActiveEmbeddedRunSnapshot(sessionId: string): void;
export declare function waitForEmbeddedPiRunEnd(sessionId: string, timeoutMs?: number): Promise<boolean>;
export declare function setActiveEmbeddedRun(sessionId: string, handle: EmbeddedPiQueueHandle, sessionKey?: string): void;
export declare function clearActiveEmbeddedRun(sessionId: string, handle: EmbeddedPiQueueHandle, sessionKey?: string): void;
export type { EmbeddedPiQueueHandle };
