import { InvoicingNamedOptionsByKey } from '@zeniai/client-epic-state'; interface CatalogSubFamilyTierTableProps { /** Field-array path, e.g. `subFamilies.0.tiers`. */ name: string; /** The sub-family's selected pricing model; picks the row's `Type` options. */ pricingModel: string; /** Read-only: the tier fields and the add / remove / clear actions are off. */ disabled?: boolean; /** Overrides the outer row box, e.g. to drop borders a host already draws. */ style?: React.CSSProperties; /** * `catalog_tier_type_options_by_pricing_model` from the invoicing config. * `undefined` means the config has not loaded, which disables the editor. */ tierTypeOptionsByPricingModel?: InvoicingNamedOptionsByKey; /** * Called after a row is added, removed or cleared, and after an out-of-range * tier type is corrected, for draft-syncing hosts. Read through a ref * internally, so callers may pass an inline arrow without re-running the * correction effect. */ onChange?: () => void; } /** * The tiered-pricing editor for one sub-family: a From / To / Price / Type grid * with add, remove and clear-all actions. Shared by the catalog item form, the * catalog item detail page's inline edit and the create-sub-family dialog so all * three render the same UI for the tiered pricing models. * * The `Type` column is driven entirely by the invoicing config: the allowed * options for the selected pricing model decide whether the cell is locked to a * single value or offers a dropdown, so widening the set is a backend change. */ export declare function CatalogSubFamilyTierTable({ disabled, name, onChange, pricingModel, style, tierTypeOptionsByPricingModel, }: Readonly): import("react/jsx-runtime").JSX.Element | null; export {};