export type RefundDestinationKind = 'cash' | 'card' | 'transfer' | 'wallet' | 'store_credit' | 'credit_note'; export interface RefundDestinationOption { kind: RefundDestinationKind; label: string; /** Tope reembolsable por este destino (p. ej. lo pagado con tarjeta). */ maxAmount?: number; /** false → la opción se muestra deshabilitada con `disabledReason`. */ available?: boolean; disabledReason?: string; } export interface RefundAllocation { kind: RefundDestinationKind; amount: number; /** Referencia del reembolso a tarjeta / folio de NC relacionada. */ reference?: string; } /** Catálogo por defecto: el llamador filtra/limita según el documento. */ export declare const DEFAULT_REFUND_DESTINATIONS: RefundDestinationOption[]; export interface RefundValidation { errors: Record; form?: string; allocated: number; remaining: number; valid: boolean; } export declare function validateRefund(total: number, allocations: RefundAllocation[], options?: RefundDestinationOption[]): RefundValidation; /** Un solo destino cubriendo todo el monto (caso común). */ export declare function singleDestination(kind: RefundDestinationKind, total: number): RefundAllocation[]; //# sourceMappingURL=refund.d.ts.map