/// import { CCMsg, CrossChainUpdateTransactionParams, ChainValidators } from './types'; import { NamedRegistry } from '../named_registry'; import { TerminatedOutboxAccount } from './stores/terminated_outbox'; import { BaseInternalMethod } from '../BaseInternalMethod'; import { MethodContext, ImmutableMethodContext, CommandExecuteContext } from '../../state_machine'; import { TokenMethod } from '../token'; import { BaseCCMethod } from './base_cc_method'; export declare abstract class BaseInteroperabilityInternalMethod extends BaseInternalMethod { protected readonly interoperableModuleMethods: Map; protected _tokenMethod: TokenMethod; constructor(stores: NamedRegistry, events: NamedRegistry, interoperableModuleMethods: Map); addDependencies(tokenMethod: TokenMethod): void; appendToInboxTree(context: MethodContext, chainID: Buffer, appendData: Buffer): Promise; appendToOutboxTree(context: MethodContext, chainID: Buffer, appendData: Buffer): Promise; addToOutbox(context: MethodContext, chainID: Buffer, ccm: CCMsg): Promise; createTerminatedOutboxAccount(context: MethodContext, chainID: Buffer, outboxRoot: Buffer, outboxSize: number, partnerChainInboxSize: number): Promise; setTerminatedOutboxAccount(context: MethodContext, chainID: Buffer, params: Partial): Promise; createTerminatedStateAccount(context: MethodContext, chainID: Buffer, stateRoot?: Buffer): Promise; terminateChainInternal(context: MethodContext, chainID: Buffer): Promise; updateValidators(context: MethodContext, ccu: CrossChainUpdateTransactionParams): Promise; updateCertificate(context: MethodContext, ccu: CrossChainUpdateTransactionParams): Promise; updatePartnerChainOutboxRoot(context: MethodContext, ccu: CrossChainUpdateTransactionParams): Promise; verifyValidatorsUpdate(context: ImmutableMethodContext, ccu: CrossChainUpdateTransactionParams): Promise; verifyCertificate(context: ImmutableMethodContext, params: CrossChainUpdateTransactionParams, blockTimestamp: number): Promise; verifyCertificateSignature(context: MethodContext, params: CrossChainUpdateTransactionParams): Promise; sendInternal(context: MethodContext, sendingAddress: Buffer, module: string, crossChainCommand: string, receivingChainID: Buffer, fee: bigint, status: number, params: Buffer, timestamp?: number): Promise; getChainValidators(context: ImmutableMethodContext, chainID: Buffer): Promise; verifyOutboxRootWitness(_context: ImmutableMethodContext, params: CrossChainUpdateTransactionParams): void; verifyPartnerChainOutboxRoot(context: CommandExecuteContext, params: CrossChainUpdateTransactionParams): Promise; abstract isLive(context: ImmutableMethodContext, chainID: Buffer, timestamp?: number): Promise; }