export type QuestionType = "text" | "textarea" | "number" | "email" | "url" | "single-choice" | "multiple-choice" | "rating" | "scale" | "date" | "boolean"; export interface QuestionOption { id: string; label: string; value: string; } export interface SurveyQuestion { id: string; type: QuestionType; title: string; description?: string; required?: boolean; placeholder?: string; options?: QuestionOption[]; validation?: { min?: number; max?: number; pattern?: string; message?: string; }; metadata?: Record; } export interface Survey { id: string; title: string; description?: string; questions: SurveyQuestion[]; settings?: { showProgressBar?: boolean; allowBack?: boolean; randomizeQuestions?: boolean; }; } export interface SurveyBuilderProps { /** * Initial survey data */ survey?: Survey; /** * Callback when survey is updated */ onChange?: (survey: Survey) => void; /** * Callback when a question is selected */ onQuestionSelect?: (question: SurveyQuestion) => void; /** * Whether the builder is in read-only mode * @default false */ readOnly?: boolean; /** * Additional CSS class */ className?: string; } //# sourceMappingURL=types.d.ts.map