import { WorkflowState, NextActionPrompt } from '../../term/interview-workflow/index.js';
import { ProgressCheckEvent } from '../../command/progress-check/index.js';
/**
 * Progress View Read Model
 *
 * Optimized read models for progress queries and UI presentation.
 * Built from event projections following CQRS patterns.
 */
type ProgressResponse = {
    readonly currentState: WorkflowState;
    readonly nextAction: NextActionPrompt;
    readonly canAdvance: boolean;
    readonly lastUpdated: Date;
};
type DetailedProgressView = ProgressResponse & {
    readonly stateHistory: readonly {
        readonly state: WorkflowState;
        readonly timestamp: Date;
        readonly transitionType: 'manual' | 'automatic';
    }[];
};
export declare const ProgressViewQueries: {
    readonly fromState: (currentState: WorkflowState) => ProgressResponse;
    readonly fromEvents: (events: ProgressCheckEvent[]) => ProgressResponse;
    readonly detailed: (currentState: WorkflowState, events?: ProgressCheckEvent[]) => DetailedProgressView;
    readonly completionStatus: (currentState: WorkflowState) => {
        isCompleted: boolean;
        hasNextStep: boolean;
        nextStep: WorkflowState | null;
    };
    readonly availableActions: (currentState: WorkflowState) => {
        canAdvance: boolean;
        canGoBack: boolean;
        nextState: WorkflowState | null;
        availableTransitions: WorkflowState[];
        currentStateActions: {
            readonly message: string;
        };
    };
};
export declare const ProgressProjections: {
    readonly projectCurrentStateFromEvents: (events: ProgressCheckEvent[]) => WorkflowState;
    readonly buildStateHistoryFromEvents: (events: ProgressCheckEvent[]) => DetailedProgressView["stateHistory"];
};
export type { ProgressResponse, DetailedProgressView };
//# sourceMappingURL=index.d.ts.map