import { providers, Signer, Contract } from 'ethers';
import { IChain } from './constants';
import { IDeploymentArtifact, IDeploymentArtifactWithId } from './types';
export declare function getContract<T extends Contract>(address: string, abi: any, signerOrProvider: providers.Provider | Signer): T;
export declare const getErc20: (address: string, signerOrProvider: providers.Provider | Signer) => import("../typechain").ERC20;
export declare const getContractsByChain: (chain: IChain) => Record<string, IDeploymentArtifact> | null;
export declare function getContractById(chain: IChain, id: string): IDeploymentArtifact | null;
export declare function getContractAddrById(chain: IChain, id: string): string | null | undefined;
export declare function getDeploymentByAddr(chain: IChain | null, address: string): IDeploymentArtifactWithId | undefined;
