import { ExecutionContext } from './ExecutionContext';
import { MapContext } from './MapContext';
import { StateContext } from './StateContext';
import { StateMachineContext } from './StateMachineContext';
import { TaskContext } from './TaskContext';
export declare class Context {
    private readonly _executionContext;
    private readonly _stateMachineContext;
    private _stateContext;
    private _taskContext;
    private _mapContex?;
    constructor(_executionContext: ExecutionContext, _stateMachineContext: StateMachineContext, _stateContext: StateContext, _taskContext: TaskContext);
    static create(executionContext: ExecutionContext, stateMachineContext: StateMachineContext, stateContext: StateContext, taskContext?: TaskContext): Context;
    get Execution(): ExecutionContext;
    get StateMachine(): StateMachineContext;
    get State(): StateContext;
    get Task(): TaskContext;
    get Map(): MapContext | undefined;
    clone(): Context;
    startMapItration(iterationIndex: number, iterationInputValue: string): void;
    transitionTo(state: StateContext, task?: TaskContext): void;
}
