export declare function euclideanDistance(a: number[], b: number[]): number;
export declare function averageDistance(setA: number[], setB: number[], distances: number[][]): number;
export declare function clusterData({ data, distance, linkage, onProgress, stopToken, }: {
    data: number[][];
    distance?: (a: number[], b: number[]) => number;
    linkage?: (a: number[], b: number[], distances: number[][]) => number;
    onProgress?: (a: number) => void;
    stopToken?: string;
}): {
    clusters: {
        height: number;
        indexes: number[];
    } | undefined;
    distances: number[][];
    order: number[];
    clustersGivenK: number[][][];
};
