import { c as Value, r as SummaryStrings } from "./summary-D8UEQXYr.js"; import { n as Format } from "./format-Dq02z5ZL.js"; import { CSSProperties, ReactNode } from "react"; //#region src/core/strings-queue-depth.d.ts type QueueDepthStrings = Pick; //#endregion //#region src/charts/queue-depth/geometry.d.ts type QueueTrend = "up" | "down" | "flat"; interface QueuePoint { index: number; x: number; y: number; value: number; /** Depth exceeds capacity at this point. */ above: boolean; } interface QueueDepthGeometry { /** Zero-anchored stock area path. */ area: string; /** Full top-edge path (accent, support width). */ line: string; /** Above-capacity spans only (negative, full width; interpolated crossings). */ breach: string; /** y of the capacity hairline (null = no capacity / off-scale). */ capacityY: number | null; /** Slope direction over the last quarter of the window. */ trend: QueueTrend; /** Current depth = last finite value. */ now: number; /** now ÷ capacity when capacity given (2-dp), else null. */ ratio: number | null; /** The current depth is above capacity. */ breached: boolean; /** Per-finite-index positions — overlays + nearest-x. The last entry is the * endpoint (dot + value label). Always ≥ 1 when the geometry is non-null. */ points: QueuePoint[]; labelX: number; /** Clamped y for the endpoint value label. */ labelY: number; /** Clamped y for the capacity value label (null = no capacity). */ capLabelY: number | null; /** Resolved (zero-anchored) value domain `[min,max]` — the annotation-host y-frame. */ domain: readonly [number, number]; /** Top edge of the plot box. */ y0: number; /** Bottom edge of the plot box — where the zero-anchored area lands. */ y1: number; } //#endregion //#region src/charts/queue-depth/index.d.ts declare function queueSummary(geo: QueueDepthGeometry, fmt: (n: number) => string, strings: QueueDepthStrings): string; /** * The seat-gated right-gutter labels and, with them, the static's real viewBox * width. Exported as ONE function because both entries need the same answer: * the static draws with it, and the interactive entry must scale pointer x by * the same total — scaling by bare `width` shifts every hit rightward and puts * the last readings out of reach. `endText`/`capText` are `""` when seat-gated * off, which is also the "don't render it" signal. */ declare function queueDepthLabels(geo: QueueDepthGeometry, opts: { width: number; height: number; capacity: number | undefined; label: "last" | "none"; fmt: (n: number) => string; labelSize?: number | undefined; }): { endText: string; capText: string; totalWidth: number; }; interface QueueDepthProps { /** Backlog depth per period (≥ 0). `null`/`NaN`/`±Infinity` are gaps. */ data: readonly Value[]; /** * Steady-state capacity (> 0); a dashed hairline + a seat-gated value label. * Non-finite or non-positive reads as no capacity — no hairline, no breach. */ capacity?: number | undefined; /** Endpoint value + trend glyph (`"last"`, default) or nothing (`"none"`). */ label?: "last" | "none" | undefined; /** * Fixed y-domain `[min, max]`; zero-anchored to the data + capacity * otherwise. Honored only as a finite ascending pair — anything else falls * back to the auto domain rather than flattening or inverting the scale. */ domain?: readonly [number, number] | undefined; width?: number | undefined; height?: number | undefined; /** Series color override (any CSS color); `prop > CSS var > preset`. */ color?: string | undefined; format?: Format | undefined; locale?: string | string[] | undefined; strings?: QueueDepthStrings | undefined; /** Minimum in-chart label size, in viewBox units. Geometry sizes labels from * the mark and floors them at 7; this raises that floor and moves the * reserved gutter with it. A label the box cannot seat at the raised floor * drops rather than shrinking back under it. */ labelSize?: number | undefined; title?: string | undefined; summary?: string | false | undefined; id?: string | undefined; className?: string | undefined; style?: CSSProperties | undefined; children?: ReactNode | undefined; } declare function QueueDepth(props: QueueDepthProps): ReactNode; //#endregion export { QueueDepthStrings as a, queueSummary as i, QueueDepthProps as n, queueDepthLabels as r, QueueDepth as t };