import type { StateDefinition } from './types/State';
import { Context } from './Context/Context';
import { StateMachine } from './StateMachine/StateMachine';
export declare type ExecuteType = (waitForTaskTokenOutput?: Record<string, unknown> | unknown[]) => Promise<ExecuteType | string | void | StateMachineExecutorError>;
export declare class StateMachineExecutorError {
    readonly error: Error;
    constructor(error: Error);
}
export declare class StateMachineExecutor {
    private readonly context;
    private readonly stateMachine;
    private readonly logger;
    constructor(stateMachine: StateMachine, context: Context);
    execute(stateDefinition: StateDefinition, inputJson: string | undefined): Promise<ExecuteType | string | void | StateMachineExecutorError>;
}
