import { apiClient } from './client'; export interface DeclaracionLink { id: number; año: number; mes: number; tipo: 'normal' | 'complementaria'; pdfFilename: string | null; } export interface ObligacionPeriodo { id: string; nombre: string; frecuencia: string | null; fechaLimite: string | null; categoria: string | null; activa: boolean; esRecomendada: boolean; completada: boolean; completadaAt: string | null; completadaPor: string | null; periodoCompletado: string | null; periodStatus: 'pendiente' | 'completada' | 'atrasada'; periodoAplica: string; declaracion: DeclaracionLink | null; declaracionPresentada: boolean; pagoPresentado: boolean; requierePago: boolean; } export interface ObligacionesPorPeriodoResponse { data: ObligacionPeriodo[]; periodo: string; } export function getObligacionesPorPeriodo( contribuyenteId: string, periodo: string, atrasados = false, ): Promise { const params = new URLSearchParams(); params.set('periodo', periodo); params.set('atrasados', String(atrasados)); return apiClient .get(`/contribuyentes/${contribuyenteId}/obligaciones/periodo?${params}`) .then((r) => r.data); }