import { default as regl } from 'regl'; import { CoreModule } from '../core-module'; export declare class Points extends CoreModule { currentPositionFbo: regl.Framebuffer2D | undefined; previousPositionFbo: regl.Framebuffer2D | undefined; velocityFbo: regl.Framebuffer2D | undefined; selectedFbo: regl.Framebuffer2D | undefined; hoveredFbo: regl.Framebuffer2D | undefined; greyoutStatusFbo: regl.Framebuffer2D | undefined; scaleX: ((x: number) => number) | undefined; scaleY: ((y: number) => number) | undefined; shouldSkipRescale: boolean | undefined; imageAtlasTexture: regl.Texture2D | undefined; imageCount: number; private colorBuffer; private sizeFbo; private sizeBuffer; private shapeBuffer; private imageIndicesBuffer; private imageSizesBuffer; private imageAtlasCoordsTexture; private imageAtlasCoordsTextureSize; private trackedIndicesFbo; private trackedPositionsFbo; private sampledPointsFbo; private trackedPositions; private isPositionsUpToDate; private drawCommand; private drawHighlightedCommand; private updatePositionCommand; private dragPointCommand; private findPointsOnAreaSelectionCommand; private findPointsOnPolygonSelectionCommand; private findHoveredPointCommand; private clearHoveredFboCommand; private clearSampledPointsFboCommand; private fillSampledPointsFboCommand; private trackPointsCommand; private trackedIndices; private selectedTexture; private greyoutStatusTexture; private pinnedStatusTexture; private pinnedStatusFbo; private sizeTexture; private trackedIndicesTexture; private polygonPathTexture; private polygonPathFbo; private polygonPathLength; private drawPointIndices; private hoveredPointIndices; private sampledPointIndices; updatePositions(): void; initPrograms(): void; updateColor(): void; updateGreyoutStatus(): void; updatePinnedStatus(): void; updateSize(): void; updateShape(): void; updateImageIndices(): void; updateImageSizes(): void; createAtlas(): void; updateSampledPointsGrid(): void; trackPoints(): void; draw(): void; updatePosition(): void; drag(): void; findPointsOnAreaSelection(): void; findPointsOnPolygonSelection(): void; updatePolygonPath(polygonPath: [number, number][]): void; findHoveredPoint(): void; trackPointsByIndices(indices?: number[] | undefined): void; /** * Get current X and Y coordinates of the tracked points. * * When the simulation is disabled or stopped, this method returns a cached * result to avoid expensive GPU-to-CPU memory transfers (`readPixels`). * * @returns A ReadonlyMap where keys are point indices and values are [x, y] coordinates. */ getTrackedPositionsMap(): ReadonlyMap; getSampledPointPositionsMap(): Map; getSampledPoints(): { indices: number[]; positions: number[]; }; getTrackedPositionsArray(): number[]; private swapFbo; private rescaleInitialNodePositions; }