import { ICmsSDK } from '../core/sdk.type'; import { WsConnectionState } from '../core/ws/ws.type'; /** * WebSocket store — thin reactive facade over {@link IWsClient}. The SDK's * Nuxt module wires the SDK facade (which holds the WS client); standalone * consumers call {@link useWsStore.setSdk} once. * * The store is intentionally **non-persistent**: the WS connection is * per-session; subscriptions are rebuilt on every reconnect. * * Consumers typically do one of: * * - subscribe declaratively: * `useWsStore().subscribe(['risk:executions'])` * - listen for live events (via the Nuxt-injected WS client): * `useNuxtApp().$ws?.onEvent((e) => { ... })` * - dispatch an action: * `useWsStore().invokeAction(uuid, 'place_market_order', { ... })` */ export declare const useWsStore: import('pinia').StoreDefinition<"cms-ws", Pick<{ connectionState: import('vue').Ref; lastEventAt: import('vue').Ref; subscribed: import('vue').Ref & Omit, keyof Set>, Set | (Set & Omit, keyof Set>)>; isOpen: import('vue').ComputedRef; isReady: import('vue').ComputedRef; setSdk: (instance: ICmsSDK) => void; open: () => void; reopen: () => void; close: (reason?: string) => void; subscribe: (topics: string[]) => void; unsubscribe: (topics: string[]) => void; unsubscribeAll: () => void; invokeAction: (contentUuid: string, action: string, params?: Record) => string | null; fetchResult: (requestId: string) => void; }, "connectionState" | "lastEventAt" | "subscribed">, Pick<{ connectionState: import('vue').Ref; lastEventAt: import('vue').Ref; subscribed: import('vue').Ref & Omit, keyof Set>, Set | (Set & Omit, keyof Set>)>; isOpen: import('vue').ComputedRef; isReady: import('vue').ComputedRef; setSdk: (instance: ICmsSDK) => void; open: () => void; reopen: () => void; close: (reason?: string) => void; subscribe: (topics: string[]) => void; unsubscribe: (topics: string[]) => void; unsubscribeAll: () => void; invokeAction: (contentUuid: string, action: string, params?: Record) => string | null; fetchResult: (requestId: string) => void; }, "isOpen" | "isReady">, Pick<{ connectionState: import('vue').Ref; lastEventAt: import('vue').Ref; subscribed: import('vue').Ref & Omit, keyof Set>, Set | (Set & Omit, keyof Set>)>; isOpen: import('vue').ComputedRef; isReady: import('vue').ComputedRef; setSdk: (instance: ICmsSDK) => void; open: () => void; reopen: () => void; close: (reason?: string) => void; subscribe: (topics: string[]) => void; unsubscribe: (topics: string[]) => void; unsubscribeAll: () => void; invokeAction: (contentUuid: string, action: string, params?: Record) => string | null; fetchResult: (requestId: string) => void; }, "open" | "subscribe" | "unsubscribe" | "close" | "setSdk" | "invokeAction" | "reopen" | "unsubscribeAll" | "fetchResult">>; //# sourceMappingURL=ws.d.ts.map