import type { Signer } from "@ethersproject/abstract-signer";
import type { Provider } from "@ethersproject/providers";
import type { Multicall2 } from "./generated";
export type ProviderOrSigner = Provider | Signer;
export type Call = Readonly<Multicall2.CallStruct>;
export type Return = Awaited<ReturnType<Multicall2["callStatic"]["aggregate"]>>;
export type Multicall<T> = Readonly<{
    call: Call;
    parseReturn: (returnData: string) => T;
}>;
export declare const chainID: {
    readonly mainnet: 1;
    readonly goerli: 5;
    readonly optimism: 10;
    readonly optimismGoerli: 420;
    readonly polygon: 137;
    readonly polygonMumbai: 80001;
    readonly arbitrum: 42161;
    readonly arbitrumGoerli: 421613;
    readonly celo: 42220;
    readonly celoAlfajores: 44787;
};
export type ChainType = keyof typeof chainID;
//# sourceMappingURL=types.d.ts.map