import { Mutate, StoreApi } from 'zustand'; interface DefaultClientData { } interface SocketState { connecting: boolean; connected: boolean; synced: boolean; error: string | null; } interface SocketIOProviderState extends SocketState { data: ClientData | null; } declare type ReadonlyStore> = Omit; declare type SocketIOProviderStore = ReadonlyStore>, [['zustand/subscribeWithSelector', never]]>>; interface SocketIOProvider extends SocketIOProviderStore { connect: () => void; closeRoom: () => void; disconnect: () => void; connectBroadcastChannel: () => void; disconnectBroadcastChannel: () => void; } declare function useSocketIOProviderState(provider: SocketIOProvider | null | undefined): SocketIOProviderState; declare function useSocketIOProviderState(provider: SocketIOProvider | null | undefined, selector: (state: SocketIOProviderState) => StateSlice, equalityFn?: (a: StateSlice, b: StateSlice) => boolean): StateSlice; export { useSocketIOProviderState };