import { TgdEvent, type TgdPainterGizmoOptions } from "@tolokoban/tgd"; import type { MorphoViewerSignalCameraResetOptions, MorphoViewerSignalSnapshotOptions } from "../../signals"; import type { MorphoViewerOverlayTransformEvent, MorphoViewerWorldOverlay } from "../../types"; import type { MorphoViewerSpikes } from "../../../spikes"; import type { MorphoViewerCellColors, MorphoViewerCellInfo, MorphoViewerSomasOnlyProps } from "../types"; declare class PainterManager { readonly eventScalebar: TgdEvent; readonly eventSpikeTime: TgdEvent; readonly eventCellClick: TgdEvent; get cellPickingEnabled(): boolean; set cellPickingEnabled(enabled: boolean); private readonly tapGuard; readonly eventSpikePlaying: TgdEvent; private _canvas; private _overlayCanvas; private _cellInfos; private _positions; private _cellColors; private colorsPending; private appliedPalette; private hiddenSomas; private hiddenSomasFrom; private _backgroundColor; private readonly parsedBackgroundColor; private painterCellInfos; private readonly spiking; private somaPicker; private _cellPickingEnabled; private painterOverlays; private readonly overlaySurface; private overlayInteraction; private _overlays; private _overlaysRadius; private _overlaysMinRadiusInPixels; private _overlaysInteractive; private _onOverlayTransform?; private _highlightedOverlayId; private _pinnedOverlayOrigin; private _pinTimeout; private painterClear; private context; private orbit; private scalebarCleanup; private readonly painterGizmo; private readonly adaptativeResolution; private resetAnimations; private _somaRadius; private _neuronOpacity; private spacePerPixel; private readonly cameraOrtho; private readonly cameraPersp; private _cameraType; get cameraType(): "orthographic" | "perspective"; set cameraType(cameraType: "orthographic" | "perspective"); get gizmo(): TgdPainterGizmoOptions | boolean | null | undefined; set gizmo(gizmo: TgdPainterGizmoOptions | boolean | null | undefined); get somaRadius(): number; set somaRadius(somaRadius: number); get neuronOpacity(): number; set neuronOpacity(neuronOpacity: number); get canvas(): HTMLCanvasElement | null; set canvas(canvas: HTMLCanvasElement | null); get overlayCanvas(): HTMLCanvasElement | null; set overlayCanvas(canvas: HTMLCanvasElement | null); get backgroundColor(): string; set backgroundColor(backgroundColor: string); private applyCellGlow; private applySpikeFrame; private readonly handleSpikeFrame; setSpikes(spikes: MorphoViewerSpikes | undefined): void; get spikeTime(): number; set spikeTime(timeInMs: number); get spikePlaying(): boolean; set spikePlaying(playing: boolean); get spikeSpeed(): number; set spikeSpeed(speed: number); get spikeAfterglowInSeconds(): number; set spikeAfterglowInSeconds(afterglowInSeconds: number); get cellColors(): MorphoViewerCellColors | undefined; set cellColors(cellColors: MorphoViewerCellColors | undefined); applyPendingColors(): void; private get cellPalette(); private get cellCount(); get positions(): Float32Array | null; get cellInfos(): MorphoViewerCellInfo[]; setGeometry(positions: Float32Array | null, cellInfos: MorphoViewerCellInfo[]): void; private rebuild; setOverlays(overlays: MorphoViewerWorldOverlay[] | undefined, overlaysRadius: number, overlaysMinRadiusInPixels: number): void; setOverlayInteraction(interactive: boolean, onTransform?: (event: MorphoViewerOverlayTransformEvent) => void): void; get highlightedOverlayId(): string | null; set highlightedOverlayId(id: string | null | undefined); private applyOverlays; private recolorInPlace; private hiddenMask; readonly cameraReset: (options?: MorphoViewerSignalCameraResetOptions) => void; readonly snapshot: (options?: MorphoViewerSignalSnapshotOptions) => Promise; private fitToFrame; private applyBBoxToCamera; private initialize; private bindOverlaySurface; private readonly handleSpacePerPixel; private readonly handleResize; private pinOverlaysAfterDrag; private clearPinnedOverlay; private _cameraChangeTimeout; private readonly handlePointerTap; private handleCameraChange; private delete; } export type { PainterManager }; export declare function useManager({ positions, cellInfos, cellColors, somaRadius, gizmo, cameraType, backgroundColor, overlays, overlaysRadius, overlaysMinRadiusInPixels, overlaysInteractive, onOverlayTransform, highlightedOverlayId, onCellClick, neuronOpacity, signals, spikes, spikeTime, onSpikeTimeChange, spikePlaying, onSpikePlayingChange, spikeSpeed, spikeAfterglowInSeconds, }: MorphoViewerSomasOnlyProps): PainterManager; //# sourceMappingURL=manager.d.ts.map