/** * Encode a plugin instance into an `UpdateProviderCmd` payload for a live hot-swap. * * @internal */ /** Component kinds a live hot-swap can target. */ export type SwapKind = 'stt' | 'llm' | 'tts' | 'vad' | 'turn_detector' | 'realtime'; /** `(provider, params)` payload for an `UpdateProviderCmd`. */ export type SwapSpec = [string, Record]; /** * Map a plugin instance to an `UpdateProviderCmd` payload for a live hot-swap. * * Returns `['', {}]`-shaped results when the plugin doesn't declare enough to * determine a provider (the caller warns and skips); throws only when `kind` * itself is not a supported swap target. * * @param kind - The component kind being swapped. * @param comp - The new plugin instance to encode. * @returns A `[provider, params]` tuple; `params` values are always strings. */ export declare function extractSwapSpec(kind: SwapKind, comp: any): SwapSpec;