/// import { BaseMethod } from '../base_method'; import { BaseCCMethod } from './base_cc_method'; import { NamedRegistry } from '../named_registry'; import { ImmutableMethodContext, MethodContext } from '../../state_machine'; import { ChainAccount } from './stores/chain_account'; import { CCMsg } from './types'; import { BaseInteroperabilityInternalMethod } from './base_interoperability_internal_methods'; import { TokenMethod } from '../token'; export declare abstract class BaseInteroperabilityMethod extends BaseMethod { protected readonly interoperableCCMethods: Map; protected internalMethod: T; protected _tokenMethod: TokenMethod & { payMessageFee: (context: MethodContext, payFromAddress: Buffer, fee: bigint, receivingChainID: Buffer) => Promise; }; constructor(stores: NamedRegistry, events: NamedRegistry, interoperableCCMethods: Map, internalMethod: T); addDependencies(tokenMethod: TokenMethod & { payMessageFee: (context: MethodContext, payFromAddress: Buffer, fee: bigint, receivingChainID: Buffer) => Promise; }): void; getChainAccount(context: ImmutableMethodContext, chainID: Buffer): Promise; getChannel(context: ImmutableMethodContext, chainID: Buffer): Promise; getOwnChainAccount(context: ImmutableMethodContext): Promise; getTerminatedStateAccount(context: ImmutableMethodContext, chainID: Buffer): Promise; getTerminatedOutboxAccount(context: ImmutableMethodContext, chainID: Buffer): Promise; private _getChannelCommon; getMessageFeeTokenID(context: ImmutableMethodContext, chainID: Buffer): Promise; getMessageFeeTokenIDFromCCM(context: ImmutableMethodContext, ccm: CCMsg): Promise; getMinReturnFeePerByte(context: ImmutableMethodContext, chainID: Buffer): Promise; send(context: MethodContext, sendingAddress: Buffer, module: string, crossChainCommand: string, receivingChainID: Buffer, fee: bigint, params: Buffer, timestamp?: number): Promise; error(context: MethodContext, ccm: CCMsg, errorStatus: number): Promise; terminateChain(context: MethodContext, chainID: Buffer): Promise; }