import { URLPayload } from '../../commonPayloadTypes/urlPayload'; import { Customer, CustomerBase } from './customerState'; export interface CustomerBasePayload { customer_id: string | null; customer_name: string; logo?: URLPayload; qbo_id?: string; } /** * Resolves the effective customer identifier from a payload. * For JE/Deposit transactions, customer_id is null at runtime — qbo_id is the * actual identity. */ export declare const getCustomerPayloadIdentifier: (customer: CustomerBasePayload) => string | null; export declare const toCustomerBase: (payload: CustomerBasePayload, parseOutParentName: boolean) => CustomerBase; export declare const toCustomerBasePayload: (customer: CustomerBase | undefined, customerUpdates?: CustomerBase) => CustomerBasePayload; export interface CustomerPayload extends CustomerBasePayload { currency_code: string | null; currency_symbol: string | null; account_id?: string | null; accounting_class_id?: string | null; address_id?: string | null; balance?: number | null; bank_account_ids?: string[]; billing_address_id?: string | null; contacts?: string[] | null; create_time?: string; email?: string | null; first_name?: string | null; is_bill_with_parent?: boolean; is_deleted?: boolean; is_sub_customer?: boolean; is_taxable?: boolean; last_name?: string | null; middle_name?: string | null; name_on_check?: string | null; note?: string | null; parent_customer_id?: string | null; payment_method_id?: string | null; phone?: string | null; qbo_create_time?: string; qbo_parent_customer_id?: string | null; qbo_update_time?: string; shipping_address_id?: string | null; suffix?: string | null; sync_token?: string; tenant_id?: string; term_id?: string | null; title?: string | null; update_time?: string; website_url?: string | null; } export declare const toCustomer: (payload: CustomerPayload, parseOutParentName?: boolean) => Customer;