import type {
  QuestionType,
  QuestionOptionsConfig,
  QuestionValidationConfig,
  LogicConditionType,
  LogicAction,
  WelcomeScreenConfig,
} from "@/types";

export interface BuilderLogicRule {
  id: string;
  conditionType: LogicConditionType;
  conditionValue: string | null;
  action: LogicAction;
  targetQuestionId: string | null;
}

export interface BuilderQuestion {
  id: string;
  type: QuestionType;
  title: string;
  position: number;
  isRequired: boolean;
  validationConfig: QuestionValidationConfig | null;
  optionsConfig: QuestionOptionsConfig | null;
  randomizeOptions: boolean;
  logicRules: BuilderLogicRule[];
}

export interface BuilderSurvey {
  id: string;
  title: string;
  description: string | null;
  status: "draft" | "active" | "closed";
  welcomeScreenConfig: WelcomeScreenConfig | null;
  thankYouScreenConfig: import("@/types").ThankYouScreenConfig;
  displayConfig: import("@/lib/utils/survey-display").SurveyDisplayConfig;
  questions: BuilderQuestion[];
}
