import { mat4 } from 'gl-matrix'; import type { vtkObject } from '@kitware/vtk.js/interfaces'; import type { Range } from '@kitware/vtk.js/types'; interface ICameraInitialValues { position?: number[]; focalPoint?: number[]; viewUp?: number[]; directionOfProjection?: number[]; parallelProjection?: boolean; useHorizontalViewAngle?: boolean; viewAngle?: number; parallelScale?: number; clippingRange?: number[]; windowCenter?: number[]; viewPlaneNormal?: number[]; useOffAxisProjection?: boolean; screenBottomLeft?: number[]; screenBottomRight?: number[]; screenTopRight?: number[]; freezeFocalPoint?: boolean; physicalTranslation?: number[]; physicalScale?: number; physicalViewUp?: number[]; physicalViewNorth?: number[]; } export interface vtkSlabCamera extends vtkObject { applyTransform(transformMat4: mat4): void; azimuth(angle: number): void; computeClippingRange(bounds: number[]): Range; computeDistance(): void; computeViewParametersFromPhysicalMatrix(mat: mat4): void; computeViewParametersFromViewMatrix(vmat: mat4): void; deepCopy(sourceCamera: vtkSlabCamera): void; dolly(amount: number): void; elevation(angle: number): void; getCameraLightTransformMatrix(): void; getClippingRange(): number[]; getClippingRangeByReference(): number[]; getCompositeProjectionMatrix(aspect: number, nearz: number, farz: number): mat4; getDirectionOfProjection(): number[]; getDirectionOfProjectionByReference(): number[]; getDistance(): number; getFocalPoint(): number[]; getFocalPointByReference(): number[]; getFreezeFocalPoint(): boolean; setFreezeFocalPoint(freeze: boolean): void; getFrustumPlanes(aspect: number): void; getOrientation(): void; getOrientationWXYZ(): void; getParallelProjection(): boolean; getParallelScale(): number; getPhysicalScale(): number; getPhysicalToWorldMatrix(result: mat4): void; getPhysicalTranslation(): number[]; getPhysicalTranslationByReference(): number[]; getPhysicalViewNorth(): number[]; getPhysicalViewNorthByReference(): number[]; getPhysicalViewUp(): number[]; getPhysicalViewUpByReference(): number[]; getPosition(): number[]; getPositionByReference(): number[]; getProjectionMatrix(aspect: number, nearz: number, farz: number): null | mat4; getRoll(): void; getScreenBottomLeft(): number[]; getScreenBottomLeftByReference(): number[]; getScreenBottomRight(): number[]; getScreenBottomRightByReference(): number[]; getScreenTopRight(): number[]; getScreenTopRightByReference(): number[]; getThickness(): number; getUseHorizontalViewAngle(): boolean; getUseOffAxisProjection(): boolean; getViewAngle(): number; getViewMatrix(): null | mat4; getViewPlaneNormal(): number[]; getViewPlaneNormalByReference(): number[]; getViewUp(): number[]; getViewUpByReference(): number[]; getWindowCenter(): number[]; getWindowCenterByReference(): number[]; getWorldToPhysicalMatrix(result: mat4): void; getIsPerformingCoordinateTransformation(status: boolean): void; orthogonalizeViewUp(): void; physicalOrientationToWorldDirection(ori: number[]): number[]; pitch(angle: number): void; roll(angle: number): void; setClippingRange(near: number, far: number): boolean; setClippingRange(clippingRange: number[]): boolean; setClippingRangeFrom(clippingRange: number[]): boolean; setDeviceAngles(alpha: number, beta: number, gamma: number, screen: number): boolean; setDirectionOfProjection(x: number, y: number, z: number): boolean; setDistance(distance: number): boolean; setFocalPoint(x: number, y: number, z: number): boolean; setFocalPointFrom(focalPoint: number[]): boolean; setObliqueAngles(alpha: number, beta: number): boolean; setOrientationWXYZ(degrees: number, x: number, y: number, z: number): boolean; setParallelProjection(parallelProjection: boolean): boolean; setParallelScale(parallelScale: number): boolean; setPhysicalScale(physicalScale: number): boolean; setPhysicalTranslation(x: number, y: number, z: number): boolean; setPhysicalTranslationFrom(physicalTranslation: number[]): boolean; setPhysicalViewNorth(x: number, y: number, z: number): boolean; setPhysicalViewNorthFrom(physicalViewNorth: number[]): boolean; setPhysicalViewUp(x: number, y: number, z: number): boolean; setPhysicalViewUpFrom(physicalViewUp: number[]): boolean; setPosition(x: number, y: number, z: number): boolean; setProjectionMatrix(mat: mat4): boolean; setRoll(angle: number): boolean; setScreenBottomLeft(x: number, y: number, z: number): boolean; setScreenBottomLeft(screenBottomLeft: number[]): boolean; setScreenBottomLeftFrom(screenBottomLeft: number[]): boolean; setScreenBottomRight(x: number, y: number, z: number): boolean; setScreenBottomRight(screenBottomRight: number[]): boolean; setScreenBottomRightFrom(screenBottomRight: number[]): boolean; setScreenTopRight(x: number, y: number, z: number): boolean; setScreenTopRight(screenTopRight: number[]): boolean; setScreenTopRightFrom(screenTopRight: number[]): boolean; setThickness(thickness: number): boolean; setThicknessFromFocalPoint(thickness: number): boolean; setUseHorizontalViewAngle(useHorizontalViewAngle: boolean): boolean; setUseOffAxisProjection(useOffAxisProjection: boolean): boolean; setViewAngle(viewAngle: number): boolean; setViewMatrix(mat: mat4): boolean; setViewUp(x: number, y: number, z: number): boolean; setViewUp(viewUp: number[]): boolean; setViewUpFrom(viewUp: number[]): boolean; setWindowCenter(x: number, y: number): boolean; setWindowCenterFrom(windowCenter: number[]): boolean; translate(x: number, y: number, z: number): void; yaw(angle: number): void; zoom(factor: number): void; setIsPerformingCoordinateTransformation(status: boolean): void; computeCameraLightTransform(): void; } declare function extend(publicAPI: any, model: any, initialValues?: ICameraInitialValues): void; declare const newInstance: (initialValues?: ICameraInitialValues) => vtkSlabCamera; declare const _default: { newInstance: (initialValues?: ICameraInitialValues) => vtkSlabCamera; extend: typeof extend; }; export default _default; export { newInstance, extend };