import type { WorkflowResumeLabel, WorkflowState, WorkflowStateStepResult } from './types.js';
export type WorkflowSuspendedStep = {
    stepId: string;
    path: string[];
    executionPath?: number[];
    step?: WorkflowStateStepResult;
    payload?: any;
    suspendPayload?: any;
    suspendOutput?: any;
    resumeLabels: Record<string, WorkflowResumeLabel>;
};
export type WorkflowStateReader = {
    getStatus: () => WorkflowState['status'];
    getResult: () => WorkflowState['result'];
    getError: () => WorkflowState['error'];
    getStepOutput: <T = any>(stepId: string) => T | Array<T | undefined> | undefined;
    getStepPayload: <T = any>(stepId: string) => T | Array<T | undefined> | undefined;
    getSuspendedStep: () => WorkflowSuspendedStep | undefined;
    getSuspendedSteps: () => WorkflowSuspendedStep[];
    getResumeLabel: (label: string) => WorkflowResumeLabel | undefined;
    getResumeLabels: () => Record<string, WorkflowResumeLabel>;
};
export declare function getWorkflowStepOutput<T = any>(state: WorkflowState, stepId: string): T | Array<T | undefined> | undefined;
export declare function getWorkflowStepPayload<T = any>(state: WorkflowState, stepId: string): T | Array<T | undefined> | undefined;
export declare function getWorkflowResumeLabel(state: WorkflowState, label: string): {
    stepId: string;
    foreachIndex?: number;
} | undefined;
export declare function getWorkflowResumeLabels(state: WorkflowState): Record<string, WorkflowResumeLabel>;
export declare function getWorkflowSuspendedSteps(state: WorkflowState): WorkflowSuspendedStep[];
export declare function getWorkflowSuspendedStep(state: WorkflowState): WorkflowSuspendedStep | undefined;
export declare function createWorkflowStateReader(state: WorkflowState): WorkflowStateReader;
//# sourceMappingURL=state-reader.d.ts.map