import { TransactionExecutionResult } from '../abi'; import { Logger } from '../logger'; import { BaseModule } from '../modules'; import { GenesisConfig } from '../types'; import { BlockContext } from './block_context'; import { GenerationContext } from './generator_context'; import { GenesisBlockContext } from './genesis_block_context'; import { TransactionContext } from './transaction_context'; import { VerificationResult } from './types'; export declare class StateMachine { private readonly _modules; private _logger; private _initialized; registerModule(mod: BaseModule): void; init(logger: Logger, genesisConfig: GenesisConfig, moduleConfig?: Record>): Promise; executeGenesisBlock(ctx: GenesisBlockContext): Promise; insertAssets(ctx: GenerationContext): Promise; verifyTransaction(ctx: TransactionContext, onlyCommand?: boolean): Promise; executeTransaction(ctx: TransactionContext): Promise; verifyAssets(ctx: BlockContext): Promise; beforeTransactionsExecute(ctx: BlockContext): Promise; afterExecuteBlock(ctx: BlockContext): Promise; private _findModule; private _getCommand; private _validateExisting; }