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-volume-profile.d.ts type VolumeProfileStrings = Pick; //#endregion //#region src/charts/volume-profile/geometry.d.ts interface LevelRow { level: number; weight: number; } interface ProfileBar { x: number; y: number; width: number; height: number; level: number; poc: boolean; } interface Rect { x: number; y: number; width: number; height: number; } declare function volumeProfileGeometry(opts: { data: readonly (LevelRow | number)[]; bins: number; valueArea: number; align: "left" | "right"; width: number; height: number; gutter: number; }): { bars: ProfileBar[]; valueAreaRect: Rect | null; poc: { level: number; share: number; } | null; even: boolean; vaLo: number; vaHi: number; }; //#endregion //#region src/charts/volume-profile/index.d.ts type VolumeProfileDatum = LevelRow | number; interface VolumeProfileProps { data: readonly VolumeProfileDatum[]; /** Mass fraction defining the shaded value-area span. */ valueArea?: number | undefined; /** Which way bars grow — pairs with a trend chart on the opposite side. */ align?: "left" | "right" | undefined; /** The POC level, anchored beside the accent bar. */ label?: "poc" | "none" | undefined; bins?: number | undefined; width?: number | undefined; height?: number | undefined; format?: Format | undefined; locale?: string | string[] | undefined; strings?: VolumeProfileStrings | 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; } /** Shared summary — where activity concentrates + the value-area span. */ declare function volumeProfileSummary(geo: ReturnType, valueArea: number, strings: VolumeProfileStrings, fmt: (n: number) => string, /** Percent formatter (FRACTION in) for the value-area convention. A stated * share, not a level — `locale` reaches it, the value `format` must not. */ pct?: (fraction: number) => string): string; declare function VolumeProfile(props: VolumeProfileProps): ReactNode; //#endregion export { volumeProfileSummary as i, VolumeProfileDatum as n, VolumeProfileProps as r, VolumeProfile as t };