import { KernelDensityEstimateConfig, KernelDensityEstimateConfigBase } from '../kernelDensityEstimate.js'; import * as utilities from '../utilities.js'; export interface SplitMultiModalDistributionConfigBase extends KernelDensityEstimateConfigBase { noiseValuesPerSample?: number; random?: () => number; iterations?: number; } export type SplitMultiModalDistributionConfig = SplitMultiModalDistributionConfigBase & utilities.DataOrSortedData; export type NoiseOptions = Pick; export declare function getLocalMaxima(config: KernelDensityEstimateConfig): number[]; export declare function generateNoise({ data, sortedData, getThreshold, getBandwidth, noiseValuesPerSample, random, }: NoiseOptions): number[]; /** * Splits a multimodal dataset into unimodal datasets. * Uses kernel density estimation for multimodal distribution detection. * See http://adereth.github.io/blog/2014/10/12/silvermans-mode-detection-method-explained/ */ export declare function splitMultimodalDistributionUsingKernelDensityEstimation(config: SplitMultiModalDistributionConfig): number[][]; //# sourceMappingURL=splitMultimodalDistributionWithKDE.d.ts.map