import { mat4 } from 'gl-matrix';
import type { WSIViewportProperties, Point3, Point2, ICamera, VOIRange, CPUIImageData, ViewportInput } from '../types/index.js';
import { Transform } from './helpers/cpuFallback/rendering/transform.js';
import Viewport from './Viewport.js';
import type { DataSetOptions } from '../types/IViewport.js';
import { type WSIClientLike, type WSIImageDataMetadata, type WSIMapLike, type WSIMapViewLike } from '../utilities/WSIUtilities.js';
declare class WSIViewport extends Viewport {
    modality: any;
    protected imageIds: string[];
    readonly uid: any;
    readonly renderingEngineId: string;
    private frameOfReferenceUID;
    protected metadata: WSIImageDataMetadata;
    private microscopyElement;
    protected map: WSIMapLike;
    private imageURISet;
    private internalCamera;
    private viewer;
    private annotationRemovedListener;
    private voiRange;
    private feFilter;
    private averageWhite;
    constructor(props: ViewportInput);
    static get useCustomRenderingPipeline(): boolean;
    private addEventListeners;
    private removeEventListeners;
    private elementDisabledHandler;
    setFrameNumber(_frame: number): Promise<void>;
    setProperties(props: WSIViewportProperties): void;
    getProperties: () => WSIViewportProperties;
    resetProperties(): void;
    setVOI(voiRange: VOIRange): void;
    setAverageWhite(averageWhite: [number, number, number]): void;
    protected getScalarData(): any;
    computeTransforms(): {
        indexToWorld: mat4;
        worldToIndex: mat4;
    };
    getImageData(): CPUIImageData;
    hasImageURI(imageURI: string): boolean;
    setCamera(camera: ICamera): void;
    getCurrentImageId(): string;
    getFrameNumber(): number;
    getCamera(): ICamera;
    resetCamera: () => boolean;
    getNumberOfSlices: () => number;
    getFrameOfReferenceUID: () => string;
    resize: () => void;
    worldToIndexWSI(point: Point3): Point2;
    indexToWorldWSI(point: Point2): Point3;
    worldToIndex(point: Point3): Point3;
    indexToWorld(point: Point3): Point3;
    canvasToWorld: (canvasPos: Point2) => Point3;
    worldToCanvas: (worldPos: Point3) => Point2;
    setDataList(entries: Array<{
        dataId: string;
        options?: Record<string, unknown>;
    }>): Promise<void>;
    setDataIds(imageIds: string[], options?: DataSetOptions & {
        miniNavigationOverlay?: boolean;
        webClient: WSIClientLike;
    }): Promise<void>;
    setWSI(imageIds: string[], client: WSIClientLike): Promise<void>;
    setDisplaySets(...entries: Array<{
        displaySetId: string;
        options?: unknown;
    }>): Promise<void>;
    postrender: () => void;
    scroll(delta: number): void;
    getRotation: () => number;
    protected canvasToIndex: (canvasPos: Point2) => Point3;
    protected indexToCanvas: (indexPos: Point3) => Point2;
    getSliceIndex(): number;
    getView(): WSIMapViewLike | undefined;
    private refreshRenderValues;
    customRenderViewportToCanvas: () => void;
    getZoom(): number;
    setZoom(zoom: number): void;
    getImageIds: () => Array<string>;
    protected getTransform(): Transform;
    getViewReferenceId(): string;
    getCurrentImageIdIndex(): number;
}
export default WSIViewport;
