import ComprobanteBase, { DetalleComprobanteBase, DetallesAdicionales, Impuesto, ImpuestosDetalleComprobante, InfoComprobanteBase } from "./ComprobanteBase";
declare abstract class TotalConImpuestos {
    totalImpuesto: Impuesto[];
}
export declare abstract class InfoNotaCredito implements InfoComprobanteBase {
    fechaEmision: string;
    dirEstablecimiento: string;
    tipoIdentificacionComprador: string;
    razonSocialComprador: string;
    identificacionComprador: string;
    contribuyenteEspecial?: number;
    obligadoContabilidad: "SI" | "NO";
    rise?: "CONTRIBUYENTE RÉGIMEN SIMPLIFICADO RISE";
    codDocModificado: "01";
    numDocModificado: string;
    fechaEmisionDocSustento: string;
    totalSinImpuestos: number;
    valorModificacion: number;
    moneda: "DOLAR";
    totalConImpuestos: TotalConImpuestos;
    motivo: string;
}
declare class NotaCreditoDetalles {
    detalle: DetalleNotaCredito[];
}
/**
 * Aqui la propiedad `codigoInterno` se situa hasta el final. El orden correcto se lo hace al momento de convertir a XML`
 */
declare class DetalleNotaCredito implements Omit<DetalleComprobanteBase, "codigoPrincipal"> {
    codigoInterno: string;
    codigoAuxiliar?: string;
    descripcion: string;
    cantidad: number;
    precioUnitario: number;
    descuento?: number;
    precioTotalSinImpuesto?: number;
    detallesAdicionales?: DetallesAdicionales;
    impuestos: ImpuestosDetalleComprobante;
}
declare const NotaCredito_base: new () => Omit<ComprobanteBase, "detalles">;
/**
 * Aqui la propiedad `intoNotaCredito` se situa hasta el final. El orden correcto se lo hace al momento de convertir a XML`
 */
export declare class NotaCredito extends NotaCredito_base {
    infoNotaCredito: InfoNotaCredito;
    detalles: NotaCreditoDetalles;
}
export {};
