import type { ArtifactManager } from "../../../types/artifacts.js";
import type { ChainDescriptorsConfig, HardhatUserConfig, NetworkConfig } from "../../../types/config.js";
import type { HookManager } from "../../../types/hooks.js";
import type { ChainType, DefaultChainType, JsonRpcServer, NetworkConnection, CachedNetworkConnectionParams, NetworkConnectionParams, NetworkManager } from "../../../types/network.js";
import type { JsonRpcRequest, JsonRpcResponse } from "../../../types/providers.js";
export type JsonRpcRequestWrapperFunction = (request: JsonRpcRequest, defaultBehavior: (r: JsonRpcRequest) => Promise<JsonRpcResponse>) => Promise<JsonRpcResponse>;
export declare class NetworkManagerImplementation implements NetworkManager {
    #private;
    constructor(defaultNetwork: string, defaultChainType: DefaultChainType, networkConfigs: Record<string, NetworkConfig>, hookManager: HookManager, artifactsManager: ArtifactManager, userConfig: HardhatUserConfig, chainDescriptors: ChainDescriptorsConfig, userProvidedConfigPath: string | undefined, projectRoot: string, verbosity: number);
    create<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
    connect<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
    getOrCreate<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: CachedNetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
    createServer<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string, _hostname?: string, port?: number): Promise<JsonRpcServer>;
    /**
     * Returns whether the deprecated `connect` method has been called on this
     * instance. It is not on the public NetworkManager interface as it is only
     * used by the CLI to print a deprecation warning at exit.
     *
     * @returns whether the deprecated `connect` method has ever been called
     */
    wasConnectCalled(): boolean;
}
//# sourceMappingURL=network-manager.d.ts.map