import { InvoicingSettingsPayload } from '../../../entity/invoicing/invoicingCommonPayload'; import { AddressUpdatableInfo } from '../../addressView/addressViewState'; /** `AddressType` key used when the branding form opens the shared Address screen. */ export declare const INVOICING_BUSINESS_ADDRESS_TYPE: "invoicing_business_address"; /** * Draft form state for the invoicing branding settings form. Held in CES so the * form flows its data from here (mirrors the customer form pattern). The business * address is NOT part of this draft — it is captured via the shared Address * screen and saved as the formatted `address` string on the settings. */ export interface InvoicingBrandingFormLocalData { accentColor: string; companyName: string; dateFormat: string; defaultMemo: string; email: string; invoiceFooterText: string; invoicePrefix: string; logoFileId: string; phone: string; taxId: string; } export declare const initialInvoicingBrandingFormLocalData: InvoicingBrandingFormLocalData; /** Seed the form draft from the existing invoicing settings. */ export declare const entityToInvoicingBrandingFormLocalData: (settings?: InvoicingSettingsPayload) => InvoicingBrandingFormLocalData; /** * Build the settings PUT body from the branding draft. The business address is * captured via the shared Address screen and sent as a structured object (same * shape as the customer save flow, `toAddressUpdatableInfoPayload`); the backend * persists it. Returns a loose record so the address object isn't constrained by * the string-typed `InvoicingSettingsPayload.address` read model. */ export declare const brandingLocalDataToSettingsPayload: (localData: InvoicingBrandingFormLocalData, address?: AddressUpdatableInfo) => Record;