import { TgdEvent, TgdMat4, TgdVec3 } from "@tolokoban/tgd"; import { Initializer } from "./initializer"; import { SpikingManager } from "./spiking-manager"; import type { MorphoViewerSimulContentProps } from "../types/private"; import type { MorphoViewerMode, MorphoViewerSimulCamera, MorphoViewerSimulController, MorphoViewerSimulProps, MorphoViewerSpikeRecord, MorphoViewerSynapsesGroup } from "../types/public"; import type { MorphologyData } from "./morphology-data"; import type { StructureItem } from "./structure"; interface SelectedItem { x: number; y: number; item: StructureItem | null; offset: number; } export declare class PainterManager extends Initializer implements MorphoViewerSimulController { onReady?: ((controller: MorphoViewerSimulController) => void) | undefined; private static id; minRadius: number; disableElectrodes: boolean; readonly id: number; readonly eventSpikeProgressChange: TgdEvent; readonly eventSpikePlayingChange: TgdEvent; readonly eventError: TgdEvent; readonly eventPaint: TgdEvent; readonly eventHover: TgdEvent; readonly eventTap: TgdEvent<{ x: number; y: number; item: StructureItem | null; offset: number; }>; readonly eventZoom: TgdEvent; readonly eventRestingPosition: TgdEvent; readonly eventHintVisible: TgdEvent; readonly eventForbiddenClick: TgdEvent; private _verbose; private spikingManager; private readonly enventSpikingManagerChange; private context; private _disableSynapses; private _hoverItem; private readonly initialPosition; private cameraController; private synapses; private data; private lastCameraChangeTimestamp; private lastCameraState; private _clickable; private _backgroundColor; private _mode; private clearColor; private view; private _spikes; private _spikeProgress; private _spikePlaying; constructor(onReady?: ((controller: MorphoViewerSimulController) => void) | undefined); get verbose(): boolean; set verbose(verbose: boolean); cameraGet(): MorphoViewerSimulCamera; cameraSet(settings: MorphoViewerSimulCamera): void; useSpikingManager(): SpikingManager | null; get spikes(): MorphoViewerSpikeRecord[]; set spikes(spikes: MorphoViewerSpikeRecord[]); get spikeProgress(): number; set spikeProgress(spikeProgress: number); get spikePlaying(): boolean; set spikePlaying(spikePlaying: boolean); get mode(): MorphoViewerMode; set mode(mode: MorphoViewerMode); get backgroundColor(): string; set backgroundColor(backgroundColor: string); get clickable(): boolean; set clickable(value: boolean); get hoverItem(): SelectedItem; set hoverItem(value: SelectedItem); get zoom(): number; set zoom(value: number); readonly zoomOut: () => void; readonly zoomIn: () => void; getCameraMatrix(): Readonly; readonly cameraReset: () => void; delete(): void; getSectionCoordinates(sectionName: string, offset: number): TgdVec3; getSegment(sectionName: string, sectionOffset: number): StructureItem | null; showSynapses(synapses: MorphoViewerSynapsesGroup[]): void; private fitCamera; protected initialize(canvas: HTMLCanvasElement, data: MorphologyData): void; private initContext; private initPainter; private initOffscreen; private initCameraController; private get segments(); private readonly handlePaint; private toNormalizedZoom; private toControllerZoom; } export declare function useWebglNeuronSelector({ morphology, spikes, spikeProgress, onSpikeProgressChange, spikePlaying, onSpikePlayingChange, minRadius, synapses, onReady, verbose, }: MorphoViewerSimulProps): PainterManager; export declare function usePainterController(props: MorphoViewerSimulContentProps): void; export {}; //# sourceMappingURL=manager.d.ts.map