import type { PrdOption, PrdQuestion, PrdFinalAction, PrdQuestionnaireData } from '../../../../../../packages/core/src/domain/generated/output.js';
import type { RejectAttachment } from '../../common/drawer-action-bar/index.js';
export type { PrdOption, PrdQuestion, PrdFinalAction, PrdQuestionnaireData };
export interface PrdQuestionnaireProps {
    /** Questionnaire data from the domain (questions, context, finalAction) */
    data: PrdQuestionnaireData;
    /** Map of questionId to selected optionId (controlled state) */
    selections: Record<string, string>;
    /** Selection change callback */
    onSelect: (questionId: string, optionId: string) => void;
    /** Finalize requirements callback */
    onApprove: (actionId: string) => void;
    /** Reject requirements callback — opens feedback dialog when provided; also used for inline text rejection */
    onReject?: (feedback: string, attachments: RejectAttachment[]) => void;
    /** Controls disabled/animated state during refinement */
    isProcessing?: boolean;
    /** Whether a reject operation is in flight */
    isRejecting?: boolean;
    /** Show the goal/context header (default: false) */
    showHeader?: boolean;
    /** Controlled chat input for the revision input. */
    chatInput?: string;
    /** Handler for chat input changes. */
    onChatInputChange?: (value: string) => void;
}
export interface PrdQuestionnaireDrawerProps extends Omit<PrdQuestionnaireProps, 'data'> {
    /** Questionnaire data — null while loading */
    data: PrdQuestionnaireData | null;
    /** Whether the drawer is open */
    open: boolean;
    /** Callback when drawer should close */
    onClose: () => void;
    /** Feature name shown in drawer header */
    featureName: string;
    /** Short description shown below the feature name */
    featureDescription?: string;
    /** Feature ID shown below the name */
    featureId?: string;
    /** Current lifecycle stage label */
    lifecycleLabel?: string;
    /** Absolute path to the repository on disk */
    repositoryPath?: string;
    /** Git branch name for this feature */
    branch?: string;
    /** Absolute path to the specs folder on disk */
    specPath?: string;
    /** Callback to delete the feature — shows delete button when provided */
    onDelete?: (featureId: string) => void;
    /** Whether a delete operation is in progress */
    isDeleting?: boolean;
}
//# sourceMappingURL=prd-questionnaire-config.d.ts.map