import { Host, CloseConnectionOptions } from '@fakehost/exchange';
import { URL } from 'url';

type ServerOptions<T extends Record<string, unknown>> = {
    port?: number;
    name?: string;
    silent?: boolean;
    debug?: boolean;
    hubs: T;
};
type CreateServerSignalr<T extends object> = {
    dispose: () => Promise<void>;
    url: URL;
    host: Host;
    disconnect: (hub: keyof T, options?: CloseConnectionOptions) => void;
};
declare const createServerSignalr: <T extends Record<string, unknown>>(options: ServerOptions<T>) => Promise<CreateServerSignalr<T>>;

export { ServerOptions, createServerSignalr };
