export interface Cliente {
  id: number;
  nombre: string;
  apellido: string;
  celular: string;
  telefono_alternativo_1: string;
  telefono_alternativo_2: string;
  dpi: string;
  nacionalidad_id: string;
  cilindros: boolean;
  granel: boolean;
  tipo_cliente_id: number;
  nacionalidad: Opts;
  tipo_cliente: Opts;
  direcciones: Direccion[];
}

export interface DatosIniciales {
  success: boolean;
  message: string;
  data: {
    tipo_clientes: Opts[];
    tipo_negocios: Opts[];
    departamentos: Opts[];
  };
}

export interface ClienteState {
  tipo_clientes: Opts[];
  tipo_negocios: Opts[];
  departamentos: Opts[];
}

export interface Direccion {
  id: number;
  nombre_direccion: string;
  direccion: string;
  zona: number;
  departamento_id: number;
  municipio_id: number;
  colonia_id: number;
  cef_id: number;
}

export interface Opts {
  id: number | string;
  nombre: string;
}

export interface Ruta {
  nuevo_cliente: string;
  pedido_cilindros: string;
  pedido_granel: string;
  historial_pedidos: string;
}

// ::::::::::: Clientes :::::::::::

export interface Clientes {
  success: boolean;
  message: string;
  data: DataCliente[];
}

interface DataCliente {
  id: number;
  nombre: string;
  apellido: string;
  celular: string;
  dpi: null;
  nuevo: number;
  cilindros: number;
  granel: number;
  nacionalidad_id: number;
  tipo_cliente_id: number;
  tipo_negocio_id: number;
  tipo_cliente: Tipocliente;
  tipo_negocio: Tipocliente;
  nacionalidad: Tipocliente;
}

interface Tipocliente {
  id: number;
  nombre: string;
}

export interface TransmisionEndpoints {
  cliente: string;
}




export interface ClienteSinCefResponse {
  success: boolean;
  message: string;
  data: DataSinCef[];
}

export interface DataSinCef {
  id: number;
  nombre_direccion: string;
  direccion: string;
  zona: null | number;
  departamento_id: number;
  municipio_id: number;
  colonia_id: null | number;
  cef_id: null;
  cliente_id: number;
  cliente: ClienteSinCef;
  departamento: Departamento;
  municipio: Departamento;
  colonia: Departamento | null;
}

interface ClienteSinCef {
  id: number;
  nombre: string;
  apellido: string;
  correo: null;
  celular: string;
}


interface Departamento {
  id: number;
  nombre: string;
}

