import { TablaAmbiente, TablaCodigoDocumento, TablaFormasPago, TablaImpuesto, tablaPorcentajeICE, TablaPorcentajeIVA } from "./Utils/TablasSRI";
export declare class InfoComprobanteBase {
    fechaEmision: string;
    dirEstablecimiento?: string;
    contribuyenteEspecial?: number;
    obligadoContabilidad: "SI" | "NO";
}
export declare class InfoTributaria {
    ambiente: TablaAmbiente;
    tipoEmision: 1;
    razonSocial: string;
    nombreComercial: string;
    ruc: string;
    claveAcceso: string;
    codDoc: TablaCodigoDocumento;
    estab: string;
    ptoEmi: string;
    secuencial: string;
    dirMatriz: string | null;
    agenteRetencion?: string;
    contribuyenteRimpe?: "CONTRIBUYENTE RÉGIMEN RIMPE" | "CONTRIBUYENTE NEGOCIO POPULAR - RÉGIMEN RIMPE";
}
export declare class Impuesto {
    codigo: TablaImpuesto;
    codigoPorcentaje: TablaPorcentajeIVA | tablaPorcentajeICE;
    baseImponible: number;
    valor: number;
}
declare class ImpuestoDetalleComprobante implements Impuesto {
    codigo: TablaImpuesto;
    codigoPorcentaje: TablaPorcentajeIVA | tablaPorcentajeICE;
    tarifa: number;
    baseImponible: number;
    valor: number;
}
export declare class ImpuestosDetalleComprobante {
    impuesto: ImpuestoDetalleComprobante[];
}
declare class DetalleAdicional {
    _nombre: string;
    _valor: string;
}
export declare class DetallesAdicionales {
    detAdicional: DetalleAdicional[];
}
declare class CampoAdicional {
    _nombre: string;
    __text: string;
}
declare class InfoAdicional {
    campoAdicional: CampoAdicional[];
}
export declare class Pago {
    formaPago: TablaFormasPago;
    total: number;
    plazo?: number;
    unidadTiempo?: string;
}
export declare class DetalleComprobanteBase {
    codigoPrincipal: string;
    codigoAuxiliar?: string;
    descripcion: string;
    cantidad: number;
    precioUnitario: number;
    descuento?: number;
    precioTotalSinImpuesto?: number;
    detallesAdicionales?: DetallesAdicionales;
    impuestos: ImpuestosDetalleComprobante;
}
export declare class DetallesComprobanteBase {
    detalle: DetalleComprobanteBase[];
}
export default class ComprobanteBase {
    infoTributaria: InfoTributaria;
    detalles: DetallesComprobanteBase;
    infoAdicional?: InfoAdicional;
}
export {};
