import * as React from "react"; export type PersonPickerMode = "existing" | "new"; export type BillingTargetMode = "person" | "organization"; export interface NewPersonValue { firstName: string; lastName: string; email: string; phone: string; } export interface PersonPickerValue { billTo?: BillingTargetMode; mode: PersonPickerMode; /** Set when mode === "existing". */ personId: string; /** Used when mode === "new". */ newPerson: NewPersonValue; /** `null` = no organization attached. */ organizationId: string | null; } export declare const emptyNewPerson: NewPersonValue; export declare const emptyPersonPickerValue: PersonPickerValue; export interface PersonPickerSectionProps { value: PersonPickerValue; onChange: (value: PersonPickerValue) => void; enabled?: boolean; showOrganization?: boolean; /** * Hide the person-vs-organization toggle while still allowing org mode * (driven by `value.billTo`). Use when an outer control already chooses * the target — e.g. the journey's Buyer type radio. */ hideTargetToggle?: boolean; labels?: { person?: string; organization?: string; billTo?: string; billToPerson?: string; billToOrganization?: string; createNewPerson?: string; createNewOrganization?: string; createPersonSheetTitle?: string; createOrganizationSheetTitle?: string; editPerson?: string; editOrganization?: string; editPersonSheetTitle?: string; editOrganizationSheetTitle?: string; selectExistingPerson?: string; personSearchPlaceholder?: string; personSelectPlaceholder?: string; personEmpty?: string; firstName?: string; firstNamePlaceholder?: string; lastName?: string; lastNamePlaceholder?: string; email?: string; emailPlaceholder?: string; phone?: string; phonePlaceholder?: string; organizationSearchPlaceholder?: string; organizationSelectPlaceholder?: string; organizationEmpty?: string; organizationNone?: string; }; } /** * Billing target picker for booking create. * * State is fully controlled. The embedded create sheets use the CRM forms and * select the newly-created person or organization after save. */ export declare function PersonPickerSection({ value, onChange, enabled, showOrganization, hideTargetToggle, labels, }: PersonPickerSectionProps): React.JSX.Element;