import { ExtensionVowelController } from '../lib/vowel/platforms/extension/ExtensionVowelController'; import { ContentScriptUI } from '../lib/vowel/platforms/extension/content/ContentScriptUI'; import { ExtensionConfig } from '../lib/vowel/platforms/extension/ExtensionConfig'; /** * Extension Platform Entry Point * * Main entry point for the extension platform mode. * Provides initialization functions and exports for both background scripts * and content scripts. * * @packageDocumentation * * @example * Background script usage: * ```typescript * import { initializeExtensionVowel } from '@vowel.to/client/platforms/extension'; * * const controller = await initializeExtensionVowel({ * appId: 'your-app-id', * apiKey: 'your-api-key', * }); * ``` * * @example * Content script usage: * ```typescript * import { initializeContentScriptUI } from '@vowel.to/client/platforms/extension'; * * const ui = initializeContentScriptUI({ * buttonPosition: { x: 20, y: 20 }, * }); * ``` */ export { ExtensionVowelController } from '../lib/vowel/platforms/extension/ExtensionVowelController'; export { ExtensionMessageRouter } from '../lib/vowel/platforms/extension/ExtensionMessageRouter'; export { ExtensionStateSync } from '../lib/vowel/platforms/extension/ExtensionStateSync'; export { ExtensionContentBridge } from '../lib/vowel/platforms/extension/content/ExtensionContentBridge'; export { ContentScriptUI } from '../lib/vowel/platforms/extension/content/ContentScriptUI'; export { ProxyFloatingButton } from '../lib/vowel/platforms/extension/content/components/ProxyFloatingButton'; export { ProxyFloatingCursor } from '../lib/vowel/platforms/extension/content/components/ProxyFloatingCursor'; export { ExtensionNavigationAdapter } from '../lib/vowel/platforms/extension/adapters/ExtensionNavigationAdapter'; export { ExtensionAutomationAdapter } from '../lib/vowel/platforms/extension/adapters/ExtensionAutomationAdapter'; export { extensionPreset } from '../lib/vowel/presets/extension'; export { EXTENSION_PRESET } from '../lib/vowel/presets'; export type { ExtensionConfig } from '../lib/vowel/platforms/extension/ExtensionConfig'; export { defaultExtensionConfig } from '../lib/vowel/platforms/extension/ExtensionConfig'; export type { ExtensionMessage, ContentToBackgroundMessage, BackgroundToContentMessage, StartSessionMessage, StopSessionMessage, GetStateMessage, UpdateConfigMessage, StateUpdateMessage, TranscriptUpdateMessage, ErrorMessage, MessageResponse, } from '../lib/vowel/platforms/extension/messaging/ExtensionMessageTypes'; export { generateMessageId, createMessage, sendMessageWithResponse, sendMessageToTab, broadcastMessage, createSuccessResponse, createErrorResponse, isValidMessage, isExtensionContext, isContentScriptContext, isBackgroundScriptContext, } from '../lib/vowel/platforms/extension/messaging/ExtensionMessageProtocol'; /** * Initialize Vowel controller in extension background script * * This function creates and initializes a Vowel controller instance * with extension-specific adapters and configuration. * * @param config - Extension configuration * @returns Initialized Vowel controller * * @example * ```typescript * // In extension background.ts * import { initializeExtensionVowel } from '@vowel.to/client/platforms/extension'; * * const controller = await initializeExtensionVowel({ * appId: 'your-app-id', * apiKey: 'your-api-key', * systemInstruction: 'Custom instructions...', * }); * * // Controller is now ready and listening for messages from content scripts * console.log('Vowel controller initialized'); * ``` */ export declare function initializeExtensionVowel(config: ExtensionConfig): Promise; /** * Initialize content script UI on web page * * This function creates and mounts the proxy UI components * (floating button and cursor) on the current page. * * @param config - Optional configuration for content script UI * @returns ContentScriptUI instance * * @example * ```typescript * // In extension content script * import { initializeContentScriptUI } from '@vowel.to/client/platforms/extension'; * * const ui = initializeContentScriptUI({ * buttonPosition: { x: 20, y: 20 }, * showConnectionStatus: true, * }); * * // UI is now mounted on the page * // Users can click the button to start/stop voice sessions * ``` */ export declare function initializeContentScriptUI(config?: Partial): ContentScriptUI; //# sourceMappingURL=extension.d.ts.map