import { ethers } from 'ethers'; import { core } from 'optics-ts-interface'; import { Contracts } from '../../contracts'; import { ReplicaInfo } from '../domains/domain'; import { CallBatch } from '../govern'; declare type Address = string; interface Core { id: number; home: Address; replicas: ReplicaInfo[]; governanceRouter: Address; xAppConnectionManager: Address; } export declare type Governor = { local: boolean; domain: number; identifier: string; }; export declare class CoreContracts extends Contracts { readonly domain: number; readonly _home: Address; readonly _replicas: Map; readonly _governanceRouter: Address; readonly _xAppConnectionManager: Address; private providerOrSigner?; private _governor?; constructor(domain: number, home: Address, replicas: ReplicaInfo[], governanceRouter: Address, xAppConnectionManager: Address, providerOrSigner?: ethers.providers.Provider | ethers.Signer); getReplica(domain: number): core.Replica | undefined; get home(): core.Home; get governanceRouter(): core.GovernanceRouter; get xAppConnectionManager(): core.XAppConnectionManager; governor(): Promise; newGovernanceBatch(): Promise; connect(providerOrSigner: ethers.providers.Provider | ethers.Signer): void; toObject(): Core; static fromObject(data: Core, signer?: ethers.Signer): CoreContracts; } export {}; //# sourceMappingURL=CoreContracts.d.ts.map