import { DocumentHistoryData } from '../../../@types/domain'; export interface Consulta { data: string | Date; categoria?: string; quantidade?: number | null; creation?: string | Date; valorTotal?: number | null; total?: number | null; /** Fallback de data quando `data` vem vazia (datalake `toArray()`: `firstSeen`; JSON cru pode vir como `first_seen` — normalizado em useChartData). */ firstSeen?: string; } export interface DataInput { ccfs: Consulta[]; protestos: Consulta[]; serasa: Consulta[]; boaVista: Consulta[]; processosJuridicos: Consulta[]; dividasPublicasGrafico: Consulta[]; pieChartTotalConfig?: { protestos?: { total: number | null; valorTotal: number | null; ultimaOcorrencia: string | null; }; processosJuridicos?: number; ccf?: { total: number | null; ultimaOcorrencia: string | null; }; }; protestosCategory?: ProtestoData[]; documentHistory?: DocumentHistoryData; } export interface ProtestoData { categoria: string; quantidade: number; ultimaOcorrencia: string | null; } export interface DataSetCommon { label: string; data: { x: string; y: number | null; }[]; borderColor?: string; backgroundColor?: string; borderWidth?: number; yAxisID?: 'y' | 'y2'; } export interface DataSetLine extends DataSetCommon { type: 'line'; tension?: number; spanGaps: boolean; showLine: boolean; pointRadius: number; fill?: boolean; } export interface DataSetBar extends DataSetCommon { type: 'bar'; borderRadius?: number; categoryPercentage?: number; barPercentage?: number; } export type TimeFilter = '1y' | '6m' | '1m' | 'all'; export interface ItemCalculo { quantidade?: number | null; valorTotal?: number | null; data?: string | Date; creation?: string | Date; [key: string]: any; }