import { r as SummaryStrings } from "./summary-D8UEQXYr.js"; import { n as Format } from "./format-Dq02z5ZL.js"; import { CSSProperties, ReactNode } from "react"; //#region src/core/strings-burn.d.ts type BurnStrings = Pick; //#endregion //#region src/charts/burn-chart/geometry.d.ts type BurnMode = "down" | "up"; interface BurnPoint { period: number; x: number; /** Marker y (actual if present, else the projected y). */ y: number; actual: number | null; plan: number | null; projected: number | null; } interface BurnGeometry { plan: { d: string; }; actual: { d: string; }; /** Today = the last actual point (x + its y). */ today: { x: number; y: number; }; projection: { d: string; } | null; /** Present only when the projection reaches the target; delta = schedule * days vs the deadline (signed, + = late). */ landing: { delta: number; value: number; } | null; /** For the summary — the latest actual + the plan at that period. */ nowActual: number; nowPlan: number | null; /** Counts of the values that are actually PLOTTED (non-finite entries are * filtered out before scaling). A summary counted from the raw prop arrays * announced days the mark never drew: `actual: [40, NaN, 36, 34]` said * "4 days in" over a line that stops at day 2. */ elapsed: number; total: number; /** Whether the projection reaches the target at all (false = flatlined). */ finishes: boolean; /** Per-period positions — overlays + nearest-x (history + projection). */ points: BurnPoint[]; labelX: number; labelY: number; totalWidth: number; /** Zero-anchored value domain `[min,max]` — the annotation-host y-frame. */ domain: readonly [number, number]; /** Period index the x-scale spans to (`[0, spanEnd]`). */ spanEnd: number; /** Plot inset (viewBox units) shared by both scales. */ pad: number; /** Top edge of the plot box. */ y0: number; /** Bottom edge of the plot box — the floor the seat stands on. */ y1: number; } //#endregion //#region src/charts/burn-chart/index.d.ts declare function burnSummary(geo: BurnGeometry, fmt: (n: number) => string, opts: { unit: string; work: string; mode: BurnMode; elapsed: number; total: number; }, strings: BurnStrings): string; interface BurnChartProps { /** Remaining work per period (`mode="down"`) or completed (`"up"`). */ data: { plan: readonly number[]; actual: readonly number[]; }; /** Burn-down (remaining → 0, default) or burn-up (done → scope). */ mode?: BurnMode | undefined; /** The dotted projection to the deadline. Default true. */ projection?: boolean | undefined; /** Work-unit noun for the summary and readout. Defaults to `strings.burnWork` * ("points" in EN) so a localized bundle can replace it. */ work?: string | undefined; /** Period noun for the summary + gap label (default "day"). */ unit?: string | undefined; /** `"gap"` states the signed schedule landing vs the deadline in a gutter. */ label?: "gap" | "none" | undefined; domain?: readonly [number, number] | undefined; width?: number | undefined; height?: number | undefined; color?: string | undefined; format?: Format | undefined; locale?: string | string[] | undefined; strings?: BurnStrings | 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 BurnChart(props: BurnChartProps): ReactNode; //#endregion export { BurnStrings as i, BurnChartProps as n, burnSummary as r, BurnChart as t };