import { ClusterBase } from '../base/cluster'; import { Params } from '../base/estimator'; import { Distance } from '../metrics'; export interface OPTICSOptions { min_samples?: number; max_eps?: number; metric?: Distance.IDistanceType; p?: number; eps?: number; } export declare class OPTICS extends ClusterBase { private minSamples; /** raw prop value; undefined means "default to eps" (resolved at fit time) */ private maxEps; private metric; private p; private eps; private reachability; private coreDistances; private ordering; constructor(options?: OPTICSOptions); getParams(): Params; /** resolved lazily from the metric name so instances stay JSON-serializable */ private get distance(); fitPredict(samplesX: number[][]): number[]; private expandClusterOrder; private update; private regionQuery; }