import { VoiceToolSessionHandle } from "./voiceTools.cjs"; import { Static, Type } from "typebox"; //#region src/schemas/voiceReloadHandoff.d.ts /** The sole exact global allowed for Voice continuity across module reload. */ export declare const VOICE_RELOAD_HANDOFF_REGISTRY_KEY: '@agimon-ai/doompi-extension-contracts.voice-reload-handoff.v1'; export declare const VOICE_RELOAD_HANDOFF_TTL_MS = 30000; export declare const VoiceReloadHandoffKindSchema: Type.TUnion<[Type.TLiteral<"domain-switch">, Type.TLiteral<"major-mode-switch">, Type.TLiteral<"profile-switch">]>; export type VoiceReloadHandoffKind = Static; export declare const VoiceReloadHandoffIdentitySchema: Type.TObject<{ sessionId: Type.TString; hostGeneration: Type.TString; }>; export type VoiceReloadHandoffIdentity = Static; export declare const VoiceReloadHandoffRequestSchema: Type.TObject<{ operationId: Type.TString; kind: Type.TOptional, Type.TLiteral<"major-mode-switch">, Type.TLiteral<"profile-switch">]>>; domains: Type.TOptional>; majorMode: Type.TOptional; profile: Type.TOptional; }>; export interface VoiceReloadHandoffRequest { readonly operationId: string; readonly kind?: VoiceReloadHandoffKind; readonly domains?: readonly string[]; readonly majorMode?: string; readonly profile?: string; } export declare const VoiceReloadHandoffSchema: Type.TObject<{ token: Type.TString; sessionId: Type.TString; hostGeneration: Type.TString; operationId: Type.TString; kind: Type.TUnion<[Type.TLiteral<"domain-switch">, Type.TLiteral<"major-mode-switch">, Type.TLiteral<"profile-switch">]>; domains: Type.TArray; majorMode: Type.TOptional; profile: Type.TOptional; createdAt: Type.TInteger; expiresAt: Type.TInteger; }>; export type VoiceReloadHandoff = Static; export interface VoiceReloadHandoffHandle { readonly token: string; commit(): boolean; discard(): boolean; } export interface VoiceReloadHandoffRuntime { now(): number; createToken(): string; } export interface VoiceReloadHandoffStore { prepare(session: Pick, request: VoiceReloadHandoffRequest): VoiceReloadHandoffHandle; accept(token: string, identity: VoiceReloadHandoffIdentity): VoiceReloadHandoff | undefined; commit(token: string, identity: VoiceReloadHandoffIdentity): boolean; discard(token: string, identity: VoiceReloadHandoffIdentity): boolean; /** The replacement generation consumes a committed record by stable session id. */ consume(sessionId: string, token?: string): VoiceReloadHandoff | undefined; } export declare class VoiceReloadHandoffError extends Error { constructor(message: string); } /** Creates an accessor over the exact cross-reload registry with explicit time and token dependencies. */ export declare function createVoiceReloadHandoffStore(runtime: VoiceReloadHandoffRuntime): VoiceReloadHandoffStore; //#endregion //# sourceMappingURL=voiceReloadHandoff.d.cts.map