import { r as SummaryStrings } from "./summary-D8UEQXYr.js"; import { CSSProperties, ReactNode } from "react"; //#region src/core/strings-hypnogram.d.ts type HypnogramStrings = Pick; //#endregion //#region src/charts/hypnogram/geometry.d.ts interface HypnoEntry { t: number; state: string; } //#endregion //#region src/charts/hypnogram/index.d.ts type HypnogramDatum = HypnoEntry; interface HypnogramProps { data: readonly HypnogramDatum[]; /** Row order top→bottom; ordinal semantics live here. Default first-appearance. */ states?: readonly string[] | undefined; /** Accents one state (e.g. Deep, or "incident") — the decision read. */ emphasis?: string | undefined; /** Vertical transition strokes; off for ultra-dense strips. */ connectors?: boolean | undefined; /** Left-gutter state names (default: on when width ≥ 96). */ labels?: boolean | undefined; /** `"lanes"` renders nominal states as filled blocks — no implied rank. * */ mode?: "steps" | "lanes" | undefined; /** Per-state lane colours (`"lanes"` mode), cycled; overrides `--mc-cat-N`. */ colors?: readonly string[] | undefined; /** Time extent; the last state holds to `domain[1]`. */ domain?: readonly [number, number] | undefined; width?: number | undefined; height?: number | undefined; strings?: HypnogramStrings | 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; } /** * Default domain: [firstT, lastT + one median step] so the last state shows. * * An explicit `domain` survives only when it is a usable window. It reached the * scale unchecked before, and `span = d1 - d0 || 1` turned every unusable one * into a span of ONE: `[0, NaN]` painted the night ~8700 units wide in a * 140-unit box, `[5, 5]` painted it from −437 to 8203, and `[0, Infinity]` * emitted `NaN` coordinates — each time with a perfectly ordinary accessible * name attached. A reversed window is a typo rather than a request to run time * backwards, so it is swapped, the way `resolveRasterDomain` swaps one. */ declare function resolveDomain(data: readonly HypnogramDatum[], domain?: readonly [number, number] | undefined): readonly [number, number]; /** Shared summary — transitions, state count, the longest run. */ declare function hypnogramSummary(data: readonly HypnogramDatum[], states: readonly string[], domain: readonly [number, number], strings: HypnogramStrings): string; declare function Hypnogram(props: HypnogramProps): ReactNode; //#endregion export { resolveDomain as a, hypnogramSummary as i, HypnogramDatum as n, HypnogramProps as r, Hypnogram as t };