import { Axios } from "axios";
import { AddressLike } from "ethers";
import type { HardhatEthersProvider as HardhatEthersProviderT } from "@nomicfoundation/hardhat-ethers/internal/hardhat-ethers-provider";
import { HardhatRuntimeEnvironment } from "hardhat/types";
import { ExtendedHardhatEthersSigner } from "./ExtendedHardhatEthersSigner";
import { HardhatEthersSigner } from "@nomicfoundation/hardhat-ethers/signers";
declare class NetworkManager {
    axios: Axios;
    provider: HardhatEthersProviderT;
    private _currentFrom;
    private _signers;
    constructor();
    getEthersSigner(from?: null | AddressLike): Promise<HardhatEthersSigner>;
    getSigner(from?: null | AddressLike): Promise<ExtendedHardhatEthersSigner>;
    private _getSigner;
    setSigner(from?: AddressLike): Promise<void>;
    withRetry<T extends {
        [key: string]: any;
    }>(instance: T): T;
}
export declare let networkManager: NetworkManager | null;
export declare function buildNetworkDeps(hre: HardhatRuntimeEnvironment): void;
/**
 * Used only in test environments to ensure test atomicity
 */
export declare function resetNetworkManager(): void;
export {};
//# sourceMappingURL=NetworkManager.d.ts.map