import { type PersonRecord, type PersonRelationshipRecord } from "@voyant-travel/relationships-react"; import * as React from "react"; import type { RoomGroup, TravelerEntry, TravelerPricingCategoryOption, TravelerRole, TravelersSectionProps } from "./travelers-section.js"; export declare function TravelerPersonPicker({ personId, labels, pinnedPeople, onSelect, onClear, }: { personId: string | null; labels: NonNullable; pinnedPeople?: PersonRecord[]; onSelect: (person: PersonRecord) => void; onClear: () => void; }): React.JSX.Element; export declare function createTravelerFromPerson(person: PersonRecord, role: TravelerRole): TravelerEntry; /** * Dynamic category-button group. Reads the product's actual * person-typed option_units (Adult/Child/Senior, Adult/Child/Infant, * Adult/Senior, etc) from `roomGroups` and renders one button per * unit in the traveler's currently-assigned option. * * Falls back to the old static Adult/Child/Infant buttons when the * parent hasn't wired `roomGroups` (during the brief window before a * product is selected, or in legacy callers that don't pass the prop). */ export declare function TravelerCategoryButtons({ traveler, roomGroups, fallbackLabels, onPickUnit, }: { traveler: TravelerEntry; roomGroups?: RoomGroup[]; fallbackLabels: { category: string; adult: string; child: string; infant: string; }; /** * Called when the operator clicks a category button. `source` * signals whether the click selected a real unit (`"manual"` — * dynamic per-product button) or merely chose a role with no * actual unit pick (`"auto"` — static fallback before units load). * The wrapping handler uses `source` to decide whether to freeze * the current `pricingUnitId` as a manual choice. */ onPickUnit: (unitId: string | null, nextRole: TravelerRole, source: "manual" | "auto") => void; }): React.JSX.Element | null; export declare function TravelerPricingCategorySelect({ traveler, categories, label, onPickCategory, }: { traveler: TravelerEntry; categories: TravelerPricingCategoryOption[]; label: string; onPickCategory: (category: TravelerPricingCategoryOption) => void; }): React.JSX.Element | null; export declare function RelatedPersonChip({ personId, kind, addLabel, onAdd, }: { personId: string; kind: PersonRelationshipRecord["kind"]; addLabel: string; onAdd: (person: PersonRecord) => void; }): React.JSX.Element | null;