import type { ClientVoiceInputConfig, OpenGeniClient, TranscriptionAdapter, WorkspaceTranscriptionPolicy } from "@opengeni/sdk"; import type { VoiceRecordingStore } from "../voice-recording-store.js"; export type ComposerTranscriptionMessages = { start: string; stop: string; cancel: string; retry: string; /** Transcribe a recording that was stopped without transcribing or recovered. */ transcribeSaved: string; /** Shown near the automatic stop; `{seconds}` is replaced. */ timeRemaining: string; pauseRetrying: string; requestingPermission: string; recording: string; saving: string; transcribing: string; retrying: string; recovered: string; recoveredTranscript: string; insertRecoveredTranscript: string; discardRecovered: string; unavailableDisabled: string; unavailable: string; errorPermissionDenied: string; errorNotSupported: string; errorUnavailable: string; errorInsufficientCredits: string; errorAllowanceExhausted: string; errorPolicyBlocked: string; errorTooLarge: string; errorInvalidAudio: string; errorStorageUnavailable: string; errorRetryable: string; errorHandoffUncertain: string; errorUnknown: string; }; export type ComposerTranscriptionControlProps = { client?: Pick | null | undefined; workspaceId?: string | undefined; capability?: ClientVoiceInputConfig | null | undefined; workspaceEnabled?: boolean | undefined; /** @deprecated Native MediaRecorder input no longer uses host adapters. */ adapter?: TranscriptionAdapter | null | undefined; /** @deprecated Native MediaRecorder input no longer uses host policies. */ policy?: WorkspaceTranscriptionPolicy | undefined; /** @deprecated Native input uses the server capability duration limit. */ lifecycleTimeouts?: unknown; /** @deprecated Native input does not expose provider diagnostics. */ onDiagnostic?: unknown; messages?: Partial | undefined; className?: string | undefined; /** Test/embed seam. Production defaults to origin-scoped IndexedDB. */ createRecordingStore?: (() => VoiceRecordingStore) | undefined; /** Test/embed seam. Production acquires a coordinated browser-document owner lease. */ createOwnerId?: (() => string) | undefined; /** Hide while realtime voice owns the mic — collapses with a layout-friendly exit. */ suppressed?: boolean | undefined; }; /** One provider-neutral microphone control for the nearest editable composer. */ export declare function ComposerTranscriptionControl({ client, workspaceId, capability, workspaceEnabled, messages: overrides, className, createRecordingStore, createOwnerId, suppressed, }: ComposerTranscriptionControlProps): import("react").JSX.Element;