import * as utilities from './utilities.js'; export declare const DEFAULT_KERNEL_STRETCH_FACTOR = 1.3; export declare const DEFAULT_QUANTILE_PRECISION = 0.01; export declare const DEFAULT_MINIMUM_VELOCITY_TO_FIRST_QUARTILE_RATIO = 0.25; export type GetBandwidthConfig = utilities.DataOrSortedData & { threshold?: number; }; export interface KernelDensityEstimateConfigBase { kernelStretchFactor?: number; getThreshold?: (config: utilities.DataOrSortedData) => number; getBandwidth?: (config: GetBandwidthConfig) => number; densityFunction?: (x: number) => number; } export type KernelDensityEstimateConfig = KernelDensityEstimateConfigBase & utilities.DataOrSortedData; export declare const ProbabilityDensityFunctions: { Gaussian: (x: number) => number; Epanechnikov: (x: number) => number; Silverman: (x: number) => number; triangular: (x: number) => number; biweight: (x: number) => number; triweight: (x: number) => number; tricube: (x: number) => number; cosine: (x: number) => number; }; export declare const calculateSilvermansRuleOfThumbBandwidth: ({ data, sortedData, threshold, }: GetBandwidthConfig) => number; export interface OptimalThresholdConfigBase { precisionDelta?: number; minimumVelocityToFirstQuartileRatio?: number; } export type OptimalThresholdConfig = utilities.DataOrSortedData & OptimalThresholdConfigBase & { stdev?: number; }; /** * a custom KDE threshold estimator */ export declare function optimalThreshold({ data, sortedData, precisionDelta, minimumVelocityToFirstQuartileRatio, stdev, }: OptimalThresholdConfig): { p: number; value: number; stdev: number; }; /** * See https://mathisonian.github.io/kde/ */ export declare function kernelDensityEstimate({ data, sortedData, kernelStretchFactor, densityFunction, getThreshold, getBandwidth, }: KernelDensityEstimateConfig): number[]; //# sourceMappingURL=kernelDensityEstimate.d.ts.map