import "./awaiting.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type DeadlineLabels, type DeadlineThresholds } from "./deadline"; import { type StyleProps } from "./style_props"; /** * WHOSE MOVE IT IS, AND HOW LONG THEY HAVE. * * A thing can be open and nobody be doing anything about it, and the two facts * that close that gap are one statement: WHO owes the next move, and by WHEN. * Split across a party column and a date column a reader has to join them by * eye, and the join is the whole reading — "us, tomorrow" and "them, four days * overdue" are different situations built from the same two cells. * * THE URGENCY IS THE DEADLINE VOCABULARY'S, never the caller's (`deadline.ts`): * one screen cannot say "2 days overdue" in an ink the screen beside it reserves * for something else, and nothing here picks a threshold of its own. * * An obligation NOBODY DATED states its obligor and no clock — a countdown * invented for an undated promise reads as a deadline somebody set. */ export interface AwaitingLabels { /** The whole line's opening — who the next move is with. */ with: (party: string) => string; /** The obligor the row does not name; the wait is still real. */ unnamed: string; } export interface AwaitingProps extends StyleProps { /** Who owes the next move — `null` where the row names nobody. */ party: string | null; /** The day it is owed by. `null` is an obligation nobody dated, which is not one that is met. */ due?: Date | null; /** * The clock the countdown is measured from — injected, so a surface reading * several of these reads them all at one instant. */ now?: Date; labels?: Partial; /** The countdown's own words; the pack's `deadline` slice by default. */ countdown?: DeadlineLabels; thresholds?: DeadlineThresholds; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } export declare function Awaiting(props: AwaitingProps): React.ReactElement>;