export interface InteractionStep {
    id: string;
    type: 'question' | 'confirmation' | 'review' | 'input';
    prompt: string;
    helpText?: string;
    validation?: (value: any, responses?: Record<string, any>) => boolean | string;
}
export interface QuestionStep extends InteractionStep {
    type: 'question';
    questionType: 'text' | 'multipleChoice' | 'yesNo' | 'multiSelect' | 'number';
    options?: string[];
    defaultValue?: any;
    required?: boolean;
}
export interface ConfirmationStep extends InteractionStep {
    type: 'confirmation';
    summary: Record<string, any>;
    editableFields?: string[];
}
export interface ReviewStep extends InteractionStep {
    type: 'review';
    sections: ReviewSection[];
}
export interface ReviewSection {
    title: string;
    content: string;
    editable?: boolean;
}
export interface InteractionWorkflow {
    id: string;
    name: string;
    description: string;
    steps: InteractionStep[];
    currentStep: number;
    responses: Record<string, any>;
    state: 'active' | 'completed' | 'cancelled';
    createdAt: Date;
    updatedAt: Date;
}
export interface InteractionResponse {
    stepId: string;
    value: any;
    timestamp: Date;
}
export interface WorkflowResult {
    workflowId: string;
    completed: boolean;
    responses: Record<string, any>;
    finalData?: any;
    nextSteps?: string[];
}
//# sourceMappingURL=types.d.ts.map