export type TiposValidacion =
    | 'correo'
    | 'correo_institucional'
    | 'telefono'
    | 'nombre'
    | 'entero'
    | 'apellidos'
    | 'decimal'
    | 'comunidad_alumno'
    | 'cuenta_alumno'
    | 'comunidad_trabajador'
    | 'cuenta_trabajador'
    | 'genero'
    | 'carrera'
    | 'institucion'
    | 'rfc'

export type TipoPregunta = 
    | 'Abierta (Respuesta corta)'
    | 'Abierta (Parrafo)'
    | 'Cerrada'
    | 'Multiple';

export interface FormularioCreacion {
  nombre_form: string;
  descripcion: string;
  fecha_inicio: string; // ISO 8601 date string
  fecha_fin: string;
  id_tipo_cuestionario: number;
  cupo_maximo?: number; // Opcional, si no se requiere un cupo máximo
  secciones: SeccionFormulario[];
}

export interface SeccionFormulario {
  titulo: string;
  descripcion: string;
  preguntas: PreguntaFormulario[];
}

export interface PreguntaFormulario {
  titulo: string;
  tipo: TipoPregunta;
  validacion?: TiposValidacion;
  obligatoria: boolean;
  opciones?: { valor: string }[]; // Opciones para preguntas cerradas o múltiples
  limite?: number;
}

export interface OpcionFormulario {
  valor: string;
}
