export function create(endpoint?: string): { _logger: ReturnType<(subModule: string, silent?: boolean) => import('@arcblock/ws/esm/logger.mjs').Logger>; emitter: import('@arcblock/ws/esm/client/base.mjs').EventEmitterInstance; on(event: string, handler: (data: unknown) => void, params?: object): void; off(event: string, handler?: (data: unknown) => void): void; disconnect(callback?: () => void, code?: number, reason?: string): void; ensureJoinChannel(topic: string, params?: object): void; ensureLeaveChannel(topic: string): void; subscribe(topic: string, params?: object): import('@arcblock/ws/esm/client/base.mjs').Channel; unsubscribe(topic: string): void; channels: import('@arcblock/ws/esm/client/base.mjs').Channel[]; connect(): void; isConnected(): boolean; onOpen(cb: () => void): void; onClose(cb: () => void): void; onError(cb: (err: { error: Error; }) => void): void; onMessage(cb: (message: unknown) => void): void; channel(topic: string, params?: object | (() => object)): import('@arcblock/ws/esm/client/base.mjs').Channel; remove(channel: import('@arcblock/ws/esm/client/base.mjs').Channel): void; }; export default function getWsClient(endpoint?: string): any; export function useListenWsClient(endpoint?: string): any;