import type { mat4 } from 'gl-matrix'; import type { Point3, Point2, ICamera, ECGViewportInput, ECGWaveformData, ECGViewportProperties, ViewReferenceSpecifier } from '../types'; import { Transform } from './helpers/cpuFallback/rendering/transform'; import Viewport from './Viewport'; declare class ECGViewport extends Viewport { readonly uid: string; readonly renderingEngineId: string; readonly canvasContext: CanvasRenderingContext2D; private imageId; private channels; private waveformData; private ecgWidth; private ecgHeight; private channelScale; private ecgCamera; constructor(props: ECGViewportInput); static get useCustomRenderingPipeline(): boolean; private addEventListeners; private removeEventListeners; private elementDisabledHandler; setEcg(imageId: string): Promise; setChannelVisibility(index: number, visible: boolean): void; getVisibleChannels(): { name: string; visible: boolean; }[]; getWaveformData(): ECGWaveformData | null; getContentDimensions(): { width: number; height: number; }; private computeChannelScale; private recalculateHeight; private computeChannelLayouts; setProperties(props: ECGViewportProperties): void; getProperties: () => ECGViewportProperties; resetProperties(): void; setCamera(camera: ICamera): void; getCamera(): ICamera; resetCamera: () => boolean; getFrameOfReferenceUID: () => string; resize: () => void; canvasToWorld: (canvasPos: Point2, destPos?: Point3) => Point3; worldToCanvas: (worldPos: Point3) => Point2; getPan(): Point2; getRotation: () => number; getNumberOfSlices: () => number; getCurrentImageIdIndex: () => number; getCurrentImageId: () => string | undefined; getViewReferenceId(_specifier?: ViewReferenceSpecifier): string; hasImageURI(imageURI: string): boolean; isReferenceViewable(viewRef: { FrameOfReferenceUID?: string; }): boolean; getSliceIndex: () => number; getImageIds: () => string[]; scroll: () => void; customRenderViewportToCanvas: () => void; updateCameraClippingPlanesAndRange(): void; private refreshRenderValues; private getWorldToCanvasRatio; protected getTransform(): Transform; private renderFrame; private drawGrid; private drawTraces; private drawLabels; getImageData(): { dimensions: number[]; spacing: number[]; origin: number[]; direction: number[]; imageData: { getDirection: () => number[]; getDimensions: () => number[]; getRange: () => Point2; getSpacing: () => number[]; worldToIndex: (point: Point3) => Point3; indexToWorld: (point: Point3) => Point3; }; hasPixelSpacing: boolean; calibration: import("../types").IImageCalibration; preScale: { scaled: boolean; }; metadata: { Modality: string; }; }; getSliceViewInfo(): { width: number; height: number; sliceIndex: number; slicePlane: number; sliceToIndexMatrix: mat4; indexToSliceMatrix: mat4; }; getMiddleSliceData: () => never; } export default ECGViewport;