import { Result } from 'neverthrow';
import { WorkflowState, WorkflowError, NextActionPrompt } from '../../term/interview-workflow/index.js';
/**
 * Progress Check Command Aggregate
 *
 * Commands that handle interview preparation progress checking and workflow state management.
 * Implements event-centric domain design where commands produce events.
 */
type ProgressCheckEvent = {
    type: 'ProgressChecked';
    workflowState: WorkflowState;
    nextActionPrompt: NextActionPrompt;
    timestamp: Date;
} | {
    type: 'WorkflowStateUpdated';
    previousState: WorkflowState;
    newState: WorkflowState;
    timestamp: Date;
};
type CheckProgressCommand = (currentState: WorkflowState) => Result<Extract<ProgressCheckEvent, {
    type: 'ProgressChecked';
}>, WorkflowError>;
type UpdateWorkflowStateCommand = (currentState: WorkflowState, newState: WorkflowState) => Result<Extract<ProgressCheckEvent, {
    type: 'WorkflowStateUpdated';
}>, WorkflowError>;
type CheckProgressRequest = {
    currentState?: WorkflowState;
};
type UpdateStateRequest = {
    currentState: WorkflowState;
    newState: WorkflowState;
};
export declare const ProgressCheckAggregate: {
    readonly checkProgress: CheckProgressCommand;
    readonly updateState: UpdateWorkflowStateCommand;
    readonly checkProgressWithUpdate: (request: CheckProgressRequest & {
        updateToState?: WorkflowState;
    }) => Result<ProgressCheckEvent[], WorkflowError>;
};
export type { ProgressCheckEvent, CheckProgressRequest, UpdateStateRequest, CheckProgressCommand, UpdateWorkflowStateCommand };
//# sourceMappingURL=index.d.ts.map