import { type DateSlot, type LifecycleStage, type MeasureSlot, type MoneySlot, type ShapeBaseProps, type ShapeFrameProps, type Slot, type TextSlot } from "./shape_frame"; /** * THE LIFECYCLE DESK — one record type walking ordered stages: an order, a * claim, an application, a shipment, a repair. *"What is stuck, and what do I * move next?"* * * The stages are the strip, in the field's order, each band counted, and the * desk opens on ALL — the work is the whole flow, not its first band; the row * carries what the NEXT act needs — who it is for, the money, how far through, * the clock, and whether that clock has run out — so the decision is made * without opening anything; the record is a drawer that steps ◀ ▶ over the band * being read. Over the whole flow the row states its STAGE as well, because the * stage is what decides whether that clock is running; inside a band the strip * has said it and the column stands down. At a phone's width the counterparty * gives way first, then the date, then the meter; the amount stays beside the * name. */ export interface LifecycleDeskProps extends ShapeBaseProps, Pick, "above" | "group" | "groups" | "totals"> { /** The lifecycle field's options, in the order the work flows. */ stages: readonly LifecycleStage[]; /** The `lifecycle` role — which stage a row is in. */ stage: Slot; /** The `identity` role — what the row is called. */ identity: TextSlot; /** The supporting line under the name — the key the system refers to the row by. */ caption?: (row: T) => string; /** The `mark` role — the row's picture, as a URL. Unbound, the row is text-led. */ mark?: (row: T) => string | null | undefined; /** The `party` role — who the row is for or from. */ party?: TextSlot; /** The `amount` role. */ amount?: MoneySlot; /** * The `measure` role bound to `level` — the same slot `MonitoredAssetSet` * carries, because it is the same question: how far through is this one. * * On a desk it is what the NEXT act is measured by — received against ordered, * paid against invoiced — and without it the meter lived only behind the door, * where the reader has to open every row to find the one that is short. */ level?: MeasureSlot; /** The `when` role — the date the next act is measured against, and the HOUR * where the field carries one. */ when?: DateSlot; } export declare function LifecycleDesk(props: LifecycleDeskProps): import("react").JSX.Element;