/** * Rolling minimum over a window. NaN-aware: windows containing only NaNs produce NaN. * @param source Input values * @param period Window length (must be > 0) * @returns Float64Array of rolling minima (NaN for positions before the window fills) */ export declare function rollmin(source: ArrayLike, period: number): Float64Array; /** * Rolling maximum over a window. NaN-aware: windows containing only NaNs produce NaN. * @param source Input values * @param period Window length (must be > 0) * @returns Float64Array of rolling maxima (NaN for positions before the window fills) */ export declare function rollmax(source: ArrayLike, period: number): Float64Array; /** * Compute rolling minima and maxima pairwise over two input series. * Optional callback `cb(minVal, maxVal, i)` is invoked for each computed window. * @param minSource Input for minima * @param maxSource Input for maxima * @param period Window length (must be > 0) * @param cb Optional callback invoked per window * @returns Object with `min` and `max` Float64Array results */ export declare function rollminmax(minSource: ArrayLike, maxSource: ArrayLike, period: number, cb?: (minVal: number, maxVal: number, i: number) => void): { min: Float64Array; max: Float64Array; }; /** * Minimum of an array, ignoring NaNs. Returns NaN if no valid entries. * @param source Input array * @returns Minimum value or NaN */ export declare function min(source: ArrayLike): number; /** * Maximum of an array, ignoring NaNs. Returns NaN if no valid entries. * @param source Input array * @returns Maximum value or NaN */ export declare function max(source: ArrayLike): number; /** * Index of the first minimum value (ignores NaNs). Returns -1 if none found. * @param source Input array * @returns Index of minimum or -1 */ export declare function argmin(source: ArrayLike): number; /** * Index of the first maximum value (ignores NaNs). Returns -1 if none found. * @param source Input array * @returns Index of maximum or -1 */ export declare function argmax(source: ArrayLike): number; /** * Cumulative maximum: at each index the maximum over all prior valid elements. * NaNs are preserved in the output at positions where input is NaN. * @param source Input array * @returns Float64Array of cumulative maxima */ export declare function cummax(source: ArrayLike): Float64Array; /** * Cumulative minimum: at each index the minimum over all prior valid elements. * NaNs are preserved in the output at positions where input is NaN. * @param source Input array * @returns Float64Array of cumulative minima */ export declare function cummin(source: ArrayLike): Float64Array; /** * Rolling argmin: returns the index (into `source`) of the minimum value in each window. * Positions before the window fills are NaN. * @param source Input array * @param period Window length * @returns Float64Array of argmin indices (NaN when not available) */ export declare function rollargmin(source: ArrayLike, period: number): Float64Array; /** * Rolling argmax: returns the index (into `source`) of the maximum value in each window. * Positions before the window fills are NaN. * @param source Input array * @param period Window length * @returns Float64Array of argmax indices (NaN when not available) */ export declare function rollargmax(source: ArrayLike, period: number): Float64Array;