import { ElementRef } from '@angular/core'; import * as i0 from "@angular/core"; export interface EmbeddingPoint { id: string; x: number; y: number; group?: string; label?: string; } export declare class EmbeddingSpaceProjectionComponent { data: import("@angular/core").InputSignal; width: import("@angular/core").InputSignal; height: import("@angular/core").InputSignal; colors: import("@angular/core").InputSignal; showExport: import("@angular/core").InputSignal; showLegend: import("@angular/core").InputSignal; dotRadius: import("@angular/core").InputSignal; lassoSelected: import("@angular/core").OutputEmitterRef; agentQueryRequest: import("@angular/core").OutputEmitterRef<{ selectedIds: string[]; queryType: string; }>; pointClick: import("@angular/core").OutputEmitterRef; selectedIds: import("@angular/core").WritableSignal; lassoPath: import("@angular/core").WritableSignal<[number, number][]>; hoveredIndex: import("@angular/core").WritableSignal; exportMenuOpen: import("@angular/core").WritableSignal; isDragging: import("@angular/core").WritableSignal; clickedPointIndex: import("@angular/core").WritableSignal; scale: import("@angular/core").WritableSignal; translateX: import("@angular/core").WritableSignal; translateY: import("@angular/core").WritableSignal; isPanning: import("@angular/core").WritableSignal; svgEl: import("@angular/core").Signal | undefined>; private panStartX; private panStartY; private dragStartX; private dragStartY; padding: number; viewBoxString: import("@angular/core").Signal; zoomPercent: import("@angular/core").Signal; zoomTransform: import("@angular/core").Signal; constructor(); private bounds; groups: import("@angular/core").Signal; xTicks: import("@angular/core").Signal<{ value: number; pos: number; label: string; }[]>; yTicks: import("@angular/core").Signal<{ value: number; pos: number; label: string; }[]>; transformedPoints: import("@angular/core").Signal<{ screenX: number; screenY: number; color: string; index: number; id: string; x: number; y: number; group?: string; label?: string; }[]>; batchedGroupPaths: import("@angular/core").Signal<{ group: string; color: string; path: string; }[]>; selectedPoints: import("@angular/core").Signal<{ screenX: number; screenY: number; color: string; index: number; id: string; x: number; y: number; group?: string; label?: string; }[]>; hoveredPoint: import("@angular/core").Signal<{ screenX: number; screenY: number; color: string; index: number; id: string; x: number; y: number; group?: string; label?: string; } | null>; clickedPointData: import("@angular/core").Signal<{ screenX: number; screenY: number; color: string; index: number; id: string; x: number; y: number; group?: string; label?: string; } | null>; lassoPolygonPoints: import("@angular/core").Signal; lassoLinePath: import("@angular/core").Signal; clearSelection(): void; onMouseDown(event: MouseEvent): void; onMouseMove(event: MouseEvent): void; onMouseUp(event: MouseEvent): void; onMouseLeave(): void; private isPointInPolygon; onExplainCluster(hp: any): void; toggleExportMenu(event: MouseEvent): void; closeExportMenu(): void; onExport(type: 'json' | 'csv' | 'svg' | 'pdf'): void; onWheel(event: WheelEvent): void; zoomIn(): void; zoomOut(): void; resetZoom(): void; exportToJson(): void; exportToCsv(): void; exportToSvg(): void; exportToPdf(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }