export interface IClusterElement<T> {
    DistanceFromMedoid: number;
    Element: T;
}
export interface ICluster<T> {
    Elements: Array<IClusterElement<T>>;
    Medoid: T;
}
export declare class Cluster<T> implements ICluster<T> {
    Elements: Array<IClusterElement<T>>;
    Medoid: T;
    constructor(cluster: ICluster<T>);
    getCost: () => number;
    findBestMedoidIdx: (distanceFn: (t1: T, t2: T) => number) => number;
    private calcCostForGivenElementAsMedoid;
}
