/** * Median of `source` (ignores NaNs). Implemented via `quantile(source, 0.5)`. * @param source Input array * @returns Median value or NaN */ export declare function median(source: ArrayLike): number; /** * Compute the rolling median over a sliding window. * Ignores NaNs and validates `period`. * Returns a Float64Array with NaN entries for positions before the window fills. * @param source Input array * @param period Window length * @returns Float64Array of rolling medians */ export declare function rollmedian(source: ArrayLike, period: number): Float64Array; /** * Compute the quantile `q` of `source`, ignoring NaNs. Implements a * selection-based algorithm using quickselect for expected linear time. * @param source Input array * @param q Quantile in [0,1] * @returns Quantile value or NaN */ export declare function quantile(source: ArrayLike, q: number): number; /** * Compute multiple percentiles (quantiles) for `source`. When `qs.length` * is small, selection is used for each quantile; otherwise the data are * sorted once for efficiency. * @param source Input array * @param qs Array of quantiles in [0,1] * @returns Array of quantile values */ export declare function percentiles(source: ArrayLike, qs: number[]): number[]; /** * Compute the rolling quantile over a sliding window. * Ignores NaNs and validates `period` and `q`. * Returns a Float64Array with NaN entries for positions before the window fills. * @param source Input array * @param period Window length * @param q Quantile in [0,1] * @returns Float64Array of rolling quantiles */ export declare function rollquantile(source: ArrayLike, period: number, q: number): Float64Array;