import { CameraParams, OnCameraMoveListener, OrbitControlParams } from './scatter_plot'; import { Dataset, Sequence } from './data'; import { UserStyles } from './styles'; import { Optional, RenderMode } from './types'; export declare type PointColorer = (index: number, selectedIndices: Set, hoverIndex: number | null) => string; export interface ScatterGLParams { camera?: CameraParams; onHover?: (point: number | null) => void; onClick?: (points: number | null) => void; onSelect?: (points: number[]) => void; onCameraMove?: OnCameraMoveListener; pointColorer?: PointColorer; renderMode?: RenderMode; rotateOnStart?: boolean; selectEnabled?: boolean; showLabelsOnHover?: boolean; styles?: UserStyles; orbitControls?: Optional; } export declare class ScatterGL { private containerElement; private dataset?; private pointColorer; private scatterPlot; private sequences; private styles; private renderMode; private rotateOnStart; private selectEnabled; private showLabelsOnHover; private canvasLabelsVisualizer?; private labels3DVisualizer?; private pointVisualizer?; private polylineVisualizer?; private spritesheetVisualizer?; private hoverPointIndex; private selectedPointIndices; private clickCallback; private hoverCallback; private selectCallback; private cameraMoveCallback; constructor(containerElement: HTMLElement, params?: ScatterGLParams); private setParameters; render(dataset: Dataset): void; private clearVisualizers; private renderScatterPlot; resetZoom(): void; setRenderMode(renderMode: RenderMode): void; setTextRenderMode(): void; setPointRenderMode(): void; setSpriteRenderMode(): void; setSequences(sequences: Sequence[]): void; setPanMode(): void; setSelectMode(): void; setDimensions(nDimensions: number): void; setPointColorer(pointColorer: PointColorer | null): void; private callPointColorer; setHoverPointIndex(index: number): void; resize(): void; private onHover; private onClick; select: (pointIndices: number[]) => void; private onSelect; updateDataset(dataset: Dataset): void; isOrbiting(): boolean; startOrbitAnimation(): void; stopOrbitAnimation(): void; private setDataset; private updateScatterPlotPositions; private updateScatterPlotAttributes; private updatePolylineAttributes; private generatePointPositionArray; private generateVisibleLabelRenderParams; private generatePointScaleFactorArray; private generatePointColorArray; private generate3DLabelsArray; private generateLineSegmentColorMap; private generateLineSegmentOpacityArray; private generateLineSegmentWidthArray; private getLabelText; private initializeCanvasLabelsVisualizer; private initialize3DLabelsVisualizer; private initializePointVisualizer; private initializeSpritesheetVisualizer; private initializePolylineVisualizer; private setVisualizers; static Dataset: typeof Dataset; }