import { mockedFetch } from '@fakehost/fake-rest/browser';
import { BrowserWsHost } from '@fakehost/exchange';
export { MockedSocket } from '@fakehost/exchange';

type ServerOptions<T extends Record<string, unknown>> = {
    url: URL;
    name?: string;
    silent?: boolean;
    debug?: boolean;
    hubs: T;
};
type CreateBrowserSignalr<T extends Record<string, unknown>> = {
    dispose: () => Promise<void>;
    url: URL;
    disconnect: (key: keyof T) => void;
    MockedSocket: BrowserWsHost['WebSocket'];
    mockedFetch: typeof mockedFetch;
};
declare const createInBrowserSignalr: <T extends Record<string, unknown>>(options: ServerOptions<T>) => Promise<CreateBrowserSignalr<T>>;

export { CreateBrowserSignalr, ServerOptions, createInBrowserSignalr };
