export type Kernel = (u: number) => number; export declare const gaussian: Kernel; export declare const epanechnikov: Kernel; export declare function scott(n: number, std: number, dim?: number): number; export declare function silverman(n: number, std: number, dim?: number): number; export interface KDEOptions { kernel?: Kernel; bandwidth?: number; bandwidthMethod?: 'scott' | 'silverman'; } export interface KDEEvaluator { bandwidth: number; kernel: Kernel; evaluate: ((x: number) => number) & ((xs: number[]) => number[]); evaluateGrid: (N: number) => { x: number; y: number; }[]; } export declare function kde(data: number[], options?: KDEOptions): KDEEvaluator; export default kde;