import { IVoucher as IVoucherData, ICbtesAsoc, ITributo, IIva } from "../types/voucher.types"; export declare class Voucher { private readonly data; private constructor(); static create(data: IVoucherData): Voucher; private validate; /** * Validates Factura C (Type C) specific rules * Type C vouchers are for exempt operations and must not include IVA * @throws Error if Type C rules are violated */ private validateFacturaC; /** * Validates Factura A/B specific rules * Type A/B vouchers must include IVA information when ImpIVA > 0 * @throws Error if Type A/B rules are violated */ private validateFacturaWithIVA; /** * Validates that the IVA array totals match the ImpIVA field * @throws Error if IVA array totals don't match ImpIVA */ private validateIVAConsistency; getPtoVta(): number; getCbteTipo(): number; getCbteDesde(): number; getCbteHasta(): number; getImpTotal(): number; getImpIVA(): number; getImpNeto(): number; getImpTrib(): number; isTypeC(): boolean; isTypeA(): boolean; isTypeB(): boolean; getCbteFch(): string; getConcepto(): number; getDocTipo(): number; getDocNro(): number; getMonId(): string; getMonCotiz(): number; getIva(): IIva[] | undefined; getTributos(): ITributo[] | undefined; getCbtesAsoc(): ICbtesAsoc[] | undefined; toDTO(): IVoucherData; getCantReg(): number; }