/// <reference types="node" />
import { Transaction } from '@liskhq/lisk-chain';
import { Schema } from '@liskhq/lisk-codec';
import { Logger } from '../logger';
import { EventQueue } from './event_queue';
import { PrefixedStateReadWriter } from './prefixed_state_read_writer';
import { CommandExecuteContext, CommandVerifyContext, TransactionExecuteContext, TransactionVerifyContext, BlockHeader, BlockAssets } from './types';
interface ContextParams {
    chainID: Buffer;
    stateStore: PrefixedStateReadWriter;
    contextStore: Map<string, unknown>;
    logger: Logger;
    eventQueue: EventQueue;
    transaction: Transaction;
    header: BlockHeader;
    assets?: BlockAssets;
}
export declare class TransactionContext {
    private readonly _stateStore;
    private readonly _contextStore;
    private readonly _chainID;
    private readonly _logger;
    private readonly _eventQueue;
    private readonly _transaction;
    private readonly _header;
    private readonly _assets?;
    constructor(params: ContextParams);
    createTransactionVerifyContext(): TransactionVerifyContext;
    createTransactionExecuteContext(): TransactionExecuteContext;
    createCommandVerifyContext<T = undefined>(paramsSchema?: Schema): CommandVerifyContext<T>;
    createCommandExecuteContext<T = undefined>(paramsSchema?: Schema): CommandExecuteContext<T>;
    get transaction(): Transaction;
    get eventQueue(): EventQueue;
    get stateStore(): PrefixedStateReadWriter;
}
export {};
