import type { OrganizationRecord, PersonRecord } from "@voyant-travel/relationships-react"; import type { CreateQuoteProductInput, QuoteMediaRecord, QuoteParticipantRecord, QuoteProductRecord } from "../index.js"; export interface QuoteLineItemsCardProps { products: QuoteProductRecord[]; isPending: boolean; /** Quote currency, used as the default for new line items. */ currency: string; busy?: boolean; onAdd: (input: CreateQuoteProductInput) => Promise; onUpdate: (id: string, input: { nameSnapshot?: string; quantity?: number; unitPriceAmountCents?: number | null; }) => Promise; onRemove: (id: string) => Promise; } export declare function QuoteLineItemsCard({ products, isPending, currency, busy, onAdd, onUpdate, onRemove, }: QuoteLineItemsCardProps): import("react").JSX.Element; export interface QuoteTravelersCardProps { travelers: QuoteParticipantRecord[]; /** Explicit headcount — may exceed the number of named travelers. */ paxCount: number | null; isPending: boolean; busy?: boolean; onPaxCountChange: (paxCount: number | null) => Promise; onAdd: (personId: string) => Promise; onRemove: (id: string) => Promise; } export declare function QuoteTravelersCard({ travelers, paxCount, isPending, busy, onPaxCountChange, onAdd, onRemove, }: QuoteTravelersCardProps): import("react").JSX.Element; export interface QuoteClientCardProps { person: PersonRecord | null | undefined; organization: OrganizationRecord | null | undefined; busy?: boolean; onSetPerson: (personId: string | null) => Promise; onSetOrganization: (organizationId: string | null) => Promise; onOpenPerson: () => void; onOpenOrganization: () => void; } export declare function QuoteClientCard({ person, organization, busy, onSetPerson, onSetOrganization, onOpenPerson, onOpenOrganization, }: QuoteClientCardProps): import("react").JSX.Element; export interface QuoteOwnershipCardProps { ownerId: string | null; createdBy: string | null; updatedBy: string | null; createdAt: string; updatedAt: string; busy?: boolean; onSetOwner: (ownerId: string | null) => Promise; } export declare function QuoteOwnershipCard({ ownerId, createdBy, updatedBy, createdAt, updatedAt, onSetOwner, }: QuoteOwnershipCardProps): import("react").JSX.Element; export interface QuoteMediaCardProps { media: QuoteMediaRecord[]; isPending: boolean; busy?: boolean; onUploadFiles: (files: FileList) => Promise; onRemove: (id: string) => Promise; } export declare function QuoteMediaCard({ media, isPending, busy, onUploadFiles, onRemove, }: QuoteMediaCardProps): import("react").JSX.Element;