import type WsT from 'ws';
import { Server } from 'http';
import { EIP1193Provider, JsonRpcServer as IJsonRpcServer } from 'hardhat/types';
import { JsonRpcHandler } from 'hardhat/internal/hardhat-network/jsonrpc/handler';
export interface JsonRpcServerConfig {
    hostname: string;
    port: number;
    providers: [chainId: number, provider: EIP1193Provider][];
}
export declare class ChainwebJsonRpcServer implements IJsonRpcServer {
    private _config;
    private _httpServer;
    private _wsServer;
    constructor(config: JsonRpcServerConfig);
    configureRouters({ httpServer, wsServer, handlers, }: {
        httpServer: Server;
        wsServer: WsT.Server;
        handlers: Array<[number, JsonRpcHandler]>;
    }): void;
    listen: () => Promise<{
        address: string;
        port: number;
    }>;
    waitUntilClosed: () => Promise<void>;
    close: () => Promise<void>;
}
//# sourceMappingURL=server.d.ts.map