import type { AmountBreakdown, Currency } from '@open-border/node'; import type { OpenBorderApiClient } from './client'; export interface OpenBorderTaxLineItem { sku?: string; description: string; quantity: number; unit_amount: number; hs_code: string; } export interface OpenBorderTaxQuoteContext { destination_country: string; /** Required for US/CA when `destination_postal_code` is omitted. */ destination_region?: string; /** Required for US/CA when `destination_region` is omitted. */ destination_postal_code?: string; /** ISO 3166-1 alpha-2 origin the goods ship FROM — the trade lane's other half. */ ship_from_country: string; currency: Currency; shipping_amount?: number; customer?: { email?: string; }; } export interface OpenBorderTaxQuoteResult { tax_quote_id: string; amount_breakdown: AmountBreakdown; classifications: Array<{ index: number; hs_code: string; confidence: number; }>; expires_at: string; data: { openborder_tax_quote_id: string; amount_breakdown: AmountBreakdown; destination_country: string; }; } /** * Registers Open Border as a Medusa tax provider. * It does not calculate or allocate tax locally; the API owns the quote. */ export declare class OpenBorderTaxProvider { readonly openBorder: OpenBorderApiClient; constructor(openBorder: OpenBorderApiClient); getTaxLines(items: OpenBorderTaxLineItem[], context: OpenBorderTaxQuoteContext): Promise; } //# sourceMappingURL=tax-provider.d.ts.map