import type BlendModes from '../../../enums/BlendModes.js';
import type { IVolumeInput } from '../../../types/index.js';
import type { PlanarRendering } from './planarRuntimeTypes.js';
import { type PlanarLegacyViewportProperties } from './planarLegacyCompatibility.js';
import type { PlanarViewState, PlanarDataPresentation, PlanarSetDataOptions } from './PlanarViewportTypes.js';
export declare const PLANAR_LEGACY_PER_IMAGE_DEFAULT_PROPERTIES_LIMIT = 2048;
export type PlanarLegacyCompatibilityHost = {
    getElement(): HTMLDivElement;
    getViewportId(): string;
    getRequestedOrientation(): PlanarViewState['orientation'];
    prepareVolumeCompatibilityCamera(): void;
    setDisplaySets(...entries: Array<{
        displaySetId: string;
        options?: PlanarSetDataOptions;
    }>): Promise<void>;
    setImageIdIndex(imageIdIndex: number): Promise<string>;
    getCurrentImageId(): string | undefined;
    render(): void;
    removeBindingsExcept(keepDataIds: Set<string>): void;
    setCameraOrientation(orientation: PlanarViewState['orientation']): void;
    setDataPresentationState(dataId: string, presentation: PlanarDataPresentation): void;
    setDisplaySetPresentation(displaySetId: string, presentation: Partial<PlanarDataPresentation>): void;
    getDisplaySetPresentation(dataId: string): PlanarDataPresentation | undefined;
    getCameraOrientation(): PlanarViewState['orientation'];
    getCurrentPlanarRendering(): PlanarRendering | undefined;
    getActiveDataId(): string | undefined;
    getFirstBoundDataId(): string | undefined;
    findDataIdByVolumeId(volumeId: string): string | undefined;
    getBindingActor(dataId: string): unknown;
    getDefaultVOIRange(dataId: string): {
        lower: number;
        upper: number;
    } | undefined;
    getImageCount(): number;
    getMaxImageIdIndex(): number;
};
declare class PlanarLegacyCompatibilityController {
    private readonly host;
    private readonly managedDataIds;
    private readonly volumeDataIds;
    private stackSetRequestId;
    private readonly properties;
    private readonly globalDefaultProperties;
    private readonly perImageIdDefaultProperties;
    private readonly onStackNewImage;
    constructor(host: PlanarLegacyCompatibilityHost);
    setStack(imageIds: string[], currentImageIdIndex?: number): Promise<string>;
    setVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
    addVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
    setProperties(properties?: PlanarLegacyViewportProperties, volumeIdOrSuppressEvents?: string | boolean, suppressEvents?: boolean): void;
    setDefaultProperties(properties?: PlanarLegacyViewportProperties, imageId?: string): void;
    clearDefaultProperties(imageId?: string): void;
    resetToDefaultProperties(): void;
    getProperties(volumeId?: string): PlanarLegacyViewportProperties;
    resetProperties(volumeId?: string): void;
    getBlendMode(filterActorUIDs?: string[]): BlendModes | undefined;
    setBlendMode(blendMode: BlendModes, filterActorUIDs?: string[], immediate?: boolean): void;
    getNumberOfSlices(): number;
    removeData(dataId: string): void;
    destroy(): void;
    private getLegacyStackDataId;
    private getLegacyVolumeDataId;
    private registerDataSet;
    private mountVolumes;
    private getInitialVolumeImageIdIndex;
    private getBlendModeTargetDataIds;
    private resolveTargetDataId;
    private emitColormapModified;
    private applyVolumePresentation;
    private buildVolumeActorEntries;
    private buildVolumeColormap;
    private buildVolumePresentationFromActor;
    private resolveVolumeIdForDataId;
    private getPerImageDefaultProperties;
    private setPerImageDefaultProperties;
    private prunePerImageDefaultProperties;
    private evictPerImageDefaultProperties;
    private unregisterDataId;
    private removeVolumeDataId;
}
export default PlanarLegacyCompatibilityController;
