/**
 * Vector Visualization Components
 *
 * React components for visualizing vector embeddings, similarity networks,
 * and semantic relationships. These components provide intuitive visual
 * interfaces for understanding vector-based operations.
 */
import React from 'react';
/**
 * Types for vector visualization
 */
export interface Vector {
    id: string;
    vector: number[];
    metadata?: Record<string, any>;
}
export interface VectorDimension {
    index: number;
    value: number;
}
export interface VectorConnection {
    source: string;
    target: string;
    similarity: number;
}
export interface VectorCluster {
    id: string;
    centroid: number[];
    vectors: Vector[];
    label: string;
}
/**
 * Props for vector visualization components
 */
interface VectorHeatmapProps {
    vectors: Vector[];
    width?: number;
    height?: number;
    colorScale?: string[];
    showLabels?: boolean;
    onVectorClick?: (vector: Vector) => void;
    title?: string;
    maxDimensions?: number;
}
interface VectorNetworkProps {
    vectors: Vector[];
    connections: VectorConnection[];
    width?: number;
    height?: number;
    minSimilarity?: number;
    maxConnections?: number;
    colorScale?: string[];
    onNodeClick?: (vector: Vector) => void;
    onConnectionClick?: (connection: VectorConnection) => void;
    title?: string;
    layout?: 'force' | 'radial' | 'hierarchical';
    animated?: boolean;
}
interface VectorProjectionProps {
    vectors: Vector[];
    width?: number;
    height?: number;
    method?: 'pca' | 'tsne' | 'umap';
    dimensions?: 2 | 3;
    colorBy?: string;
    sizeBy?: string;
    onVectorClick?: (vector: Vector) => void;
    title?: string;
    interactive?: boolean;
}
interface VectorComparisonProps {
    vector1: Vector;
    vector2: Vector;
    width?: number;
    height?: number;
    showDifference?: boolean;
    title?: string;
}
interface VectorClusterMapProps {
    clusters: VectorCluster[];
    width?: number;
    height?: number;
    method?: 'kmeans' | 'hierarchical' | 'dbscan';
    dimensions?: 2 | 3;
    onClusterClick?: (cluster: VectorCluster) => void;
    onVectorClick?: (vector: Vector) => void;
    title?: string;
    interactive?: boolean;
}
interface VectorTimeSeriesProps {
    vectors: Vector[];
    timeField: string;
    width?: number;
    height?: number;
    method?: 'trajectory' | 'heatmap' | 'animation';
    onTimePointClick?: (vector: Vector, time: number) => void;
    title?: string;
    playable?: boolean;
}
/**
 * VectorHeatmap visualizes vector embeddings as a heatmap
 */
export declare const VectorHeatmap: React.FC<VectorHeatmapProps>;
/**
 * VectorNetwork visualizes connections between vectors as a network graph
 */
export declare const VectorNetwork: React.FC<VectorNetworkProps>;
/**
 * VectorProjection projects high-dimensional vectors into 2D or 3D space
 */
export declare const VectorProjection: React.FC<VectorProjectionProps>;
/**
 * VectorComparison compares two vectors to visualize similarities and differences
 */
export declare const VectorComparison: React.FC<VectorComparisonProps>;
/**
 * VectorClusterMap visualizes clusters of vectors
 */
export declare const VectorClusterMap: React.FC<VectorClusterMapProps>;
/**
 * VectorTimeSeries visualizes vectors changing over time
 */
export declare const VectorTimeSeries: React.FC<VectorTimeSeriesProps>;
/**
 * Export visualization components
 */
export declare const VectorVisualizations: {
    Heatmap: React.FC<VectorHeatmapProps>;
    Network: React.FC<VectorNetworkProps>;
    Projection: React.FC<VectorProjectionProps>;
    Comparison: React.FC<VectorComparisonProps>;
    ClusterMap: React.FC<VectorClusterMapProps>;
    TimeSeries: React.FC<VectorTimeSeriesProps>;
};
export {};
//# sourceMappingURL=VectorVisualization.d.ts.map