import { ethers } from 'ethers'; import type { types } from '@abacus-network/utils'; import { ProxiedContract, ProxyAddresses } from './proxy'; import { Connection } from './types'; export declare type AbacusFactories = { [key: string]: ethers.ContractFactory; }; export declare type AbacusContracts = { [key: Exclude]: ethers.Contract | ProxiedContract | AbacusContracts; }; export declare type AbacusAddresses = { [key: string]: types.Address | ProxyAddresses | AbacusAddresses; }; export declare function serializeContracts(contractOrObject: AbacusContracts, max_depth?: number): AbacusAddresses; export declare function buildContracts(addressOrObject: AbacusAddresses, factories: AbacusFactories, max_depth?: number): AbacusContracts; export declare function connectContracts(contractOrObject: Contracts, connection: Connection, max_depth?: number): Contracts; //# sourceMappingURL=contracts.d.ts.map