import { ExtensionMessage } from './messaging/ExtensionMessageTypes'; import { ExtensionVowelController } from './ExtensionVowelController'; /** * Synchronizes Vowel state to content scripts * * @example * ```typescript * const stateSync = new ExtensionStateSync(controller); * await stateSync.broadcastStateUpdate(state); * ``` */ export declare class ExtensionStateSync { private controller; constructor(controller: ExtensionVowelController); /** * Broadcast state update to all content scripts * * @param state - Current Vowel state */ broadcastStateUpdate(state: any): Promise; /** * Broadcast transcript update * * @param transcript - Transcript data */ broadcastTranscriptUpdate(transcript: { type: 'user' | 'agent'; text: string; isFinal: boolean; }): Promise; /** * Broadcast error * * @param error - Error object or message */ broadcastError(error: Error | string): Promise; /** * Broadcast audio playback event * * @param event - Playback event type */ broadcastAudioPlayback(event: 'started' | 'stopped'): Promise; /** * Send message to specific tab * * @param tabId - Target tab ID * @param message - Message to send */ sendToTab(tabId: number, message: ExtensionMessage): Promise; /** * Send message to all tabs with content script */ private sendToAllContentScripts; /** * Get active tab and send message to it * * @param message - Message to send */ sendToActiveTab(message: ExtensionMessage): Promise; /** * Get the currently active tab */ private getActiveTab; } //# sourceMappingURL=ExtensionStateSync.d.ts.map