import { ethers } from 'ethers'; import { Inbox, Outbox } from '@abacus-network/core'; import { ParsedMessage } from '@abacus-network/utils/dist/src/types'; import { AbacusApp } from '../app'; import { MultiProvider } from '../provider'; import { ConnectionClientConfig } from '../router'; import { ChainMap, ChainName, Remotes } from '../types'; import { CoreContracts } from './contracts'; import { environments } from './environments'; export declare type CoreEnvironment = keyof typeof environments; export declare type CoreEnvironmentChain = Extract; export declare type CoreContractsMap = { [local in Chain]: CoreContracts; }; declare type DispatchedMessage = { leafIndex: number; message: string; parsed: ParsedMessage; }; export declare class AbacusCore extends AbacusApp, Chain> { constructor(contractsMap: CoreContractsMap, multiProvider: MultiProvider); static fromEnvironment(env: Env, multiProvider: MultiProvider>): AbacusCore>; getContracts(chain: Local): CoreContracts; getConnectionClientConfig(chain: Chain): ConnectionClientConfig; getConnectionClientConfigMap(): ChainMap; extendWithConnectionClientConfig(configMap: ChainMap): ChainMap; extendWithConnectionManagers(config: ChainMap): ChainMap; getMailboxPair(origin: Remotes, destination: Local): { originOutbox: Outbox; destinationInbox: Inbox; }; protected getDestination(message: DispatchedMessage): { inbox: Inbox; chainConnection: ChainMap[Chain]; }; protected waitForProcessReceipt(message: DispatchedMessage): Promise; getDispatchedMessages(sourceTx: ethers.ContractReceipt): DispatchedMessage[]; waitForMessageProcessing(sourceTx: ethers.ContractReceipt): Promise; } export {}; //# sourceMappingURL=app.d.ts.map