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-waveform.d.ts type WaveformStrings = Pick; //#endregion //#region src/charts/waveform/index.d.ts interface WaveformProps { data: readonly Value[]; /** 0–1 played fraction; buckets left of it tint accent (position-in-media). */ progress?: number | undefined; /** `"envelope"` renders the min/max envelope as one filled area path. */ mode?: "bars" | "envelope" | undefined; /** Mirror around the center (default); `false` for magnitude-only series. */ mirror?: boolean | undefined; /** Explicit symmetric domain for HONEST loudness comparison across rows. */ domain?: readonly [number, number] | undefined; width?: number | undefined; height?: number | undefined; format?: Format | undefined; locale?: string | string[] | undefined; strings?: WaveformStrings | undefined; title?: string | undefined; summary?: string | false | undefined; id?: string | undefined; className?: string | undefined; style?: CSSProperties | undefined; children?: ReactNode | undefined; } /** Shared summary — the peak and where it falls, plus the sample count. */ declare function waveformSummary(data: readonly Value[], strings: WaveformStrings, fmt: (n: number) => string, /** Percent formatter (FRACTION in) for "how far through". A position in the * signal, not an amplitude, so it takes `locale` but never `format`. */ posFmt?: (fraction: number) => string, /** Sample COUNT — a tally, not an amplitude, so it never takes `format` * (a `format` of `{ style: "percent" }` announced "4,000% samples"). */ cntFmt?: (n: number) => string): string; declare function Waveform(props: WaveformProps): ReactNode; //#endregion export { WaveformProps as n, waveformSummary as r, Waveform as t };