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