import * as tf from '../backend/adapter'; import { DataMatrix, LabelVector } from '../clustering/types'; export declare function validate_labels_length(X: DataMatrix, labels: LabelVector): void; /** `owns_tensor` is true when X was an array — the caller must then dispose the returned tensor. */ export declare function convert_validation_inputs(X: DataMatrix, labels: LabelVector): { data: tf.Tensor2D; label_array: number[]; owns_tensor: boolean; }; /** * Density-based estimators emit `-1` for samples that belong to no cluster. * Internal-validation metrics measure cohesion and separation of genuine * clusters, so noise samples must be removed before any distance or dispersion * is computed. The returned `had_noise` flag lets callers distinguish a * genuine degenerate input (fewer than two clusters, no noise — an error) from * a noise-induced degenerate input (fewer than two clusters remain only after * filtering — a defined, non-throwing result). */ export declare function noise_filtered_indices(label_array: number[]): { keep: number[]; had_noise: boolean; }; //# sourceMappingURL=validate.d.ts.map