import { ClusterBase } from '../base'; import { Params } from '../base/estimator'; export interface BirchProps { threshold?: number; branchingFactor?: number; nClusters?: number | null; } /** Balanced CF-tree with threshold absorption and optional agglomerative global clustering. */ export declare class Birch extends ClusterBase { private threshold; private branchingFactor; private nClusters; private rootState?; private subclusterCentersState; private subclusterLabelsState; private nFeaturesState; constructor(props?: BirchProps); getParams(): Params; private center; private singleton; private aggregate; private nearest; private tryAbsorb; /** Split an overflowing node around its farthest pair; mutate node to the left half and return the right sibling. */ private split; /** Insert one sample, returning a new sibling when this node overflows. */ private insert; private leafSubclusters; private finalize; partialFit(X: number[][]): this; fit(X: number[][]): void; predict(X: number[][]): number[]; fitPredict(X: number[][]): number[]; get subclusterCenters(): number[][]; get subclusterLabels(): number[]; }