export type ClientOptions = { baseUrl: 'https://{app_domain}' | (string & {}); }; export type RequestItem = { id: string; item_code?: string; item_reference?: string; name?: string; price: { amount: number; tax_inclusive: boolean; }; quantity: number; tax_class?: TaxClass; tax_exempt?: boolean; tax_properties?: Array; }; export type RequestItemTaxProperty = { code: string; value: string; }; export type RequestDocument = { id: string; billing_address?: Address; destination_address: Address; origin_address: Address; shipping: RequestItem & { type: ShippingType; }; handling: RequestItem & { type: HandlingType; }; items: Array; }; export type RequestQuote = { id: string; currency_code: string; customer: { customer_id: string; customer_group_id: string; taxability_code?: string; tax_properties?: Array; }; transaction_date: string; documents: Array; }; export type RequestAdjust = { adjust_description?: string; } & RequestQuote; export type Address = { line1?: string; line2?: string; city?: string; region_name?: string; region_code?: string; country_name?: string; country_code?: string; postal_code?: string; company_name?: string; type?: 'RESIDENTIAL' | 'COMMERCIAL'; }; export type TaxClass = { code: string; class_id: string; name: string; }; export type ResponseQuote = { id: string; documents: Array; }; export type ResponseDocument = { id: string; external_id?: string; items: Array; shipping: ResponseItem & { type: ShippingType; }; handling: ResponseItem & { type: HandlingType; }; }; export type ResponseItem = { id: string; price: ResponseTaxprice; }; export type ResponseTaxprice = { amount_inclusive: number; amount_exclusive: number; total_tax: number; tax_rate: number; sales_tax_summary: Array; }; export type SalesTax = { name: string; rate: number; amount: number; tax_class?: TaxClass; id?: string; }; export type ItemType = 'item' | 'refund' | 'fee'; export type ShippingType = 'shipping'; export type HandlingType = 'handling'; export type WrappingType = 'wrapping'; export type StoreHashHeader = string; export type IdQueryVoid = string; export type IdQueryAdjusted = string; export type EstimateTaxesData = { body: RequestQuote; headers: { 'X-Bc-Store-Hash': string; }; path?: never; query?: never; url: '/estimate'; }; export type EstimateTaxesErrors = { 400: unknown; 401: unknown; 500: unknown; }; export type EstimateTaxesResponses = { 200: ResponseQuote; }; export type EstimateTaxesResponse = EstimateTaxesResponses[keyof EstimateTaxesResponses]; export type VoidTaxQuoteData = { body?: never; headers: { 'X-Bc-Store-Hash': string; }; path?: never; query: { id: string; }; url: '/void'; }; export type VoidTaxQuoteErrors = { 400: unknown; 401: unknown; 500: unknown; }; export type VoidTaxQuoteResponses = { 200: unknown; }; export type CommitTaxQuoteData = { body: RequestQuote; headers: { 'X-Bc-Store-Hash': string; }; path?: never; query?: never; url: '/commit'; }; export type CommitTaxQuoteErrors = { 400: unknown; 401: unknown; 500: unknown; }; export type CommitTaxQuoteResponses = { 200: ResponseQuote; }; export type CommitTaxQuoteResponse = CommitTaxQuoteResponses[keyof CommitTaxQuoteResponses]; export type AdjustTaxQuoteData = { body?: RequestAdjust; headers: { 'X-Bc-Store-Hash': string; }; path?: never; query: { id: string; }; url: '/adjust'; }; export type AdjustTaxQuoteErrors = { 400: unknown; 401: unknown; 500: ResponseQuote; }; export type AdjustTaxQuoteError = AdjustTaxQuoteErrors[keyof AdjustTaxQuoteErrors]; export type AdjustTaxQuoteResponses = { 200: ResponseQuote; }; export type AdjustTaxQuoteResponse = AdjustTaxQuoteResponses[keyof AdjustTaxQuoteResponses];