import { type PaymentPolicy } from "@voyant-travel/finance/payment-policy"; import * as React from "react"; /** * Reusable payment-policy editor. * * Renders the deposit kind toggle (None / Percent / Fixed amount), the * conditional deposit value input, and the three day-window controls * (deposit gate, balance offset, balance grace). When `inheritable` * is true (the default for non-operator-default layers), an "Inherit * from parent" toggle is shown — flipping it on writes `null` and * disables the rest of the form. * * Controlled component: parent owns the value via `value` / `onChange`. * The bundled `` reads the same value so you * can render the live preview alongside the form. */ export interface PaymentPolicyFormProps { /** Current value. `null` means "inherit from parent". */ value: PaymentPolicy | null; onChange: (next: PaymentPolicy | null) => void; /** * When true, shows the "Inherit from parent" toggle. Operator- * default forms set this to false (no parent to inherit from). */ inheritable?: boolean; /** Currency used for the fixed-amount deposit input + the preview. */ currency?: string; /** Disabled by ancestor (e.g. while the mutation is in flight). */ disabled?: boolean; className?: string; } export declare function PaymentPolicyForm({ value, onChange, inheritable, currency, disabled, className, }: PaymentPolicyFormProps): React.ReactElement; /** * Live preview of what the policy will produce on a sample booking. * Pair with `` so the operator sees the * deposit + balance amounts shift in real time as they tweak the * fields. */ export interface PaymentPolicyPreviewProps { policy: PaymentPolicy | null; currency?: string; /** Total used for the preview math. Default 1,000.00 in major units. */ sampleTotalCents?: number; /** Days before departure to use for the preview. Default 60. */ sampleDaysBeforeDeparture?: number; className?: string; } export declare function PaymentPolicyPreview({ policy, currency, sampleTotalCents, sampleDaysBeforeDeparture, className, }: PaymentPolicyPreviewProps): React.ReactElement;