import { type InjectionKey, type App } from 'vue'; import { SharedWebSocket } from '../../SharedWebSocket'; import type { SharedWebSocketOptions } from '../../types'; export declare const SharedWebSocketKey: InjectionKey; /** * Vue 3 plugin for SharedWebSocket. * * @example * const app = createApp(App); * app.use(createSharedWebSocketPlugin('wss://api.example.com/ws', { * auth: () => localStorage.getItem('token')!, * useWorker: true, * })); */ export declare function createSharedWebSocketPlugin(url: string, options?: SharedWebSocketOptions): { install(app: App): void; }; /** * Access the SharedWebSocket instance from provided context. * * @example * const ws = useSharedWebSocket(); * ws.send('chat.message', { text: 'Hello' }); */ export declare function useSharedWebSocket(): SharedWebSocket;