import { Cliente, Contacto, CuentaBancaria, PuntoSuministro } from '../../../interfaces';

export type DashboardCupsElectrico = {
    CodCupsEle?: number;
    CUPsEle?: string;
    CodTarElec?: number | string;
    ConAnuCup?: number | string;
    PotConP1?: number | string;
    PotConP2?: number | string;
    PotConP3?: number | string;
    PotConP4?: number | string;
    PotConP5?: number | string;
    PotConP6?: number | string;
    EstCUPs?: number;
};

export type DashboardCupsGas = {
    CodCupGas?: number;
    CupsGas?: string;
    CodTarGas?: number | string;
    ConAnuCup?: number | string;
    caudaldiario?: number | string;
    EstCUPs?: number;
};

export type DashboardPuntoSuministro = PuntoSuministro & {
    cups_electrico?: DashboardCupsElectrico[];
    cups_gas?: DashboardCupsGas[];
    cupsElectrico?: DashboardCupsElectrico[];
    cupsGas?: DashboardCupsGas[];
};

export type DashboardCliente = Cliente & {
    contacto_detalle_cliente?: Array<{
        CodDetCliCont?: number;
        CodConCli?: number;
        contacto?: Contacto;
    }>;
    cuentas_bancarias_activas?: CuentaBancaria[];
    puntos_suministro?: DashboardPuntoSuministro[];
    documentos?: Array<{
        CodTipDocAI: number;
        DesDoc: string;
        ArcDoc: string;
        FecCarDoc: string;
        ObsDoc?: string;
    }>;
};

export interface DashboardLoadingControls {
    show: () => void;
    hide: () => void;
}
