import type { vtkCamera } from '@kitware/vtk.js/Rendering/Core/Camera'; import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane'; import ViewportStatus from '../enums/ViewportStatus'; import ViewportType from '../enums/ViewportType'; import type { ICamera, ActorEntry, IRenderingEngine, ViewportInputOptions, Point2, Point3, FlipDirection, DisplayArea } from '../types'; import type { ViewportInput, IViewport, ViewReferenceSpecifier, ViewReference, ReferenceCompatibleOptions } from '../types/IViewport'; import type { vtkSlabCamera } from './vtkClasses/vtkSlabCamera'; import IImageCalibration from '../types/IImageCalibration'; declare class Viewport implements IViewport { readonly id: string; readonly element: HTMLDivElement; readonly canvas: HTMLCanvasElement; readonly renderingEngineId: string; readonly type: ViewportType; protected insetImageMultiplier: number; protected flipHorizontal: boolean; protected flipVertical: boolean; isDisabled: boolean; viewportStatus: ViewportStatus; sx: number; sy: number; sWidth: number; sHeight: number; _actors: Map; readonly defaultOptions: Record; options: ViewportInputOptions; private _suppressCameraModifiedEvents; readonly suppressEvents: boolean; protected hasPixelSpacing: boolean; protected calibration: IImageCalibration; protected initialCamera: ICamera; private fitToCanvasCamera; constructor(props: ViewportInput); getRotation: () => number; getFrameOfReferenceUID: () => string | undefined; canvasToWorld: (canvasPos: Point2) => Point3; worldToCanvas: (worldPos: Point3) => Point2; customRenderViewportToCanvas: () => unknown; resize: () => void; getProperties: () => void; updateRenderingPipeline: () => void; getNumberOfSlices: () => number; static get useCustomRenderingPipeline(): boolean; setRendered(): void; getRenderingEngine(): IRenderingEngine; getRenderer(): any; render(): void; setOptions(options: ViewportInputOptions, immediate?: boolean): void; reset(immediate?: boolean): void; protected flip({ flipHorizontal, flipVertical }: FlipDirection): void; private getDefaultImageData; getDefaultActor(): ActorEntry; getActors(): Array; getActorUIDs(): Array; getActor(actorUID: string): ActorEntry; getActorUIDByIndex(index: number): string; getActorByIndex(index: number): ActorEntry; setActors(actors: Array): void; _removeActor(actorUID: string): void; removeActors(actorUIDs: Array): void; addActors(actors: Array, resetCameraPanAndZoom?: boolean): void; addActor(actorEntry: ActorEntry): void; removeAllActors(): void; protected resetCameraNoEvent(): void; protected setCameraNoEvent(camera: ICamera): void; private _getViewImageDataIntersections; setDisplayArea(displayArea: DisplayArea, suppressEvents?: boolean): void; getDisplayArea(): DisplayArea | undefined; resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean, storeAsInitialCamera?: boolean): boolean; protected setInitialCamera(camera: ICamera): void; protected setFitToCanvasCamera(camera: ICamera): void; getPan(): Point2; getCurrentImageIdIndex(): number | undefined; getReferenceId(_specifier?: ViewReferenceSpecifier): string; setPan(pan: Point2, storeAsInitialCamera?: boolean): void; getZoom(): number; setZoom(value: number, storeAsInitialCamera?: boolean): void; private _getFocalPointForViewPlaneReset; getCanvas(): HTMLCanvasElement; protected getVtkActiveCamera(): vtkCamera | vtkSlabCamera; getCamera(): ICamera; setCamera(cameraInterface: ICamera, storeAsInitialCamera?: boolean): void; triggerCameraModifiedEventIfNecessary(previousCamera: ICamera, updatedCamera: ICamera): void; updateCameraClippingPlanesAndRange(): void; protected updateClippingPlanesForActors(updatedCamera: ICamera): Promise; setOrientationOfClippingPlanes(vtkPlanes: Array, slabThickness: number, viewPlaneNormal: Point3, focalPoint: Point3): void; getClippingPlanesForActor(actorEntry?: ActorEntry): vtkPlane[]; private _getWorldDistanceViewUpAndViewRight; getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference; isReferenceViewable(viewRef: ViewReference, options?: ReferenceCompatibleOptions): boolean; protected _shouldUseNativeDataType(): boolean; _getCorners(bounds: Array): Array[]; _getFocalPointForResetCamera(centeredFocalPoint: Point3, previousCamera: ICamera, { resetPan, resetToCenter }: { resetPan?: boolean; resetToCenter?: boolean; }): Point3; _isInBounds(point: Point3, bounds: number[]): boolean; _getEdges(bounds: Array): Array<[number[], number[]]>; } export default Viewport;