import { VideoEnums as VideoViewportEnum } from '../enums'; import type { IVideoViewport, VideoViewportProperties, Point3, Point2, ICamera, VideoViewportInput, VOIRange, IImage, ViewReferenceSpecifier, ViewReference, ReferenceCompatibleOptions } from '../types'; import { Transform } from './helpers/cpuFallback/rendering/transform'; import Viewport from './Viewport'; import CanvasActor from './CanvasActor'; export declare type CanvasScalarData = Uint8ClampedArray & { frameNumber?: number; getRange?: () => [number, number]; }; declare class VideoViewport extends Viewport implements IVideoViewport { static frameRangeExtractor: RegExp; modality: any; protected imageId: string; readonly uid: any; readonly renderingEngineId: string; readonly canvasContext: CanvasRenderingContext2D; private videoElement?; private videoWidth; private videoHeight; private loop; private mute; private isPlaying; private scrollSpeed; private playbackRate; private scalarData; private initialRender; private frameRange; protected metadata: any; private fps; private numberOfFrames; private videoCamera; private feFilter; private averageWhite; private voiRange; constructor(props: VideoViewportInput); static get useCustomRenderingPipeline(): boolean; private addEventListeners; private removeEventListeners; private elementDisabledHandler; getImageDataMetadata(image: IImage | string): { bitsAllocated: number; numComps: number; origin: any; rows: any; columns: any; direction: number[]; dimensions: any[]; spacing: any[]; hasPixelSpacing: boolean; numVoxels: number; imagePlaneModule: any; }; setVideo(imageId: string, frameNumber?: number): Promise; setVideoURL(videoURL: string): Promise; getImageIds(): string[]; togglePlayPause(): boolean; play(): Promise; pause(): Promise; scroll(delta?: number): Promise; start(): Promise; end(): Promise; setTime(timeInSeconds: number): Promise; setFrameNumber(frame: number): Promise; setFrameRange(frameRange?: number[]): void; getFrameRange(): [number, number]; setProperties(props: VideoViewportProperties): void; setPlaybackRate(rate?: number): void; setScrollSpeed(scrollSpeed?: number, unit?: VideoViewportEnum.SpeedUnit): void; getProperties: () => VideoViewportProperties; resetProperties(): void; protected getScalarData(): CanvasScalarData; getImageData(): { dimensions: any; spacing: any; origin: any; direction: any; metadata: { Modality: any; }; getScalarData: () => CanvasScalarData; imageData: { getDirection: () => any; getDimensions: () => any; getRange: () => number[]; getScalarData: () => CanvasScalarData; getSpacing: () => any; worldToIndex: (point: Point3) => number[]; indexToWorld: (point: Point3) => Point3; }; hasPixelSpacing: boolean; calibration: import("../types").IImageCalibration; preScale: { scaled: boolean; }; }; hasImageURI(imageURI: string): boolean; setVOI(voiRange: VOIRange): void; setWindowLevel(windowWidth?: number, windowCenter?: number): void; setAverageWhite(averageWhite: [number, number, number]): void; protected setColorTransform(): void; setCamera(camera: ICamera): void; getCurrentImageId(): string | undefined; getReferenceId(specifier?: ViewReferenceSpecifier): string; isReferenceViewable(viewRef: ViewReference, options?: ReferenceCompatibleOptions): boolean; getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference; getFrameNumber(): number; getCurrentImageIdIndex(): number | undefined; getCamera(): ICamera; resetCamera: () => boolean; getNumberOfSlices: () => number; getFrameOfReferenceUID: () => string | undefined; resize: () => void; canvasToWorld: (canvasPos: Point2) => Point3; worldToCanvas: (worldPos: Point3) => Point2; getPan(): Point2; getRotation: () => number; protected canvasToIndex: (canvasPos: Point2) => Point2; protected indexToCanvas: (indexPos: Point2) => Point2; private refreshRenderValues; private getWorldToCanvasRatio; private getCanvasToWorldRatio; customRenderViewportToCanvas: () => void; protected getTransform(): Transform; updateCameraClippingPlanesAndRange(): void; addImages(stackInputs: Array): void; protected createActorMapper(image: any): CanvasActor; private renderFrame; private renderWhilstPlaying; } export default VideoViewport;