import { Contract, ethers, Signer } from "ethers";
import { ContractType } from "./contractTypes.js";
export default abstract class ContractRegistry {
    private static contractByAddress;
    private static contractByName;
    private static addressByName;
    private static network;
    private static providerOrSigner;
    static getNetworkName(): string;
    static setNetwork(network: any): void;
    static setProviderOrSigner(providerOrSigner: ethers.providers.Provider | Signer): void;
    static getProviderOrSigner(): ethers.providers.Provider | Signer | undefined;
    static resetContracts(): void;
    static register(provider: ethers.providers.Provider, network: string, type: ContractType, name: string, address: string): Promise<void>;
    static getAddressByName(name: string): string;
    static getContractByName(name: string): Contract;
    static hasContract(name: string): boolean;
    static getContractByAddress(signerOrProvider: ethers.providers.Provider | Signer, address: string): Contract;
}
//# sourceMappingURL=contractRegistry.d.ts.map