import type { ActorEntry, VOIRange } from '../../../types/index.js';
import type { BindingRole, ViewportDataBinding } from '../ViewportArchitectureTypes.js';
import type { PlanarDataPresentation, PlanarSetDataOptions } from './PlanarViewportTypes.js';
export type PlanarDataBinding = ViewportDataBinding<PlanarDataPresentation>;
export type PlanarMountedDataHost = {
    getBinding(dataId: string): PlanarDataBinding | undefined;
    getFirstBinding(): PlanarDataBinding | undefined;
    getBindings(): Iterable<[string, PlanarDataBinding]>;
    removeData(dataId: string): void;
};
declare class PlanarMountedData {
    private readonly host;
    private sourceDataId?;
    constructor(host: PlanarMountedDataHost);
    resolveBindingRole(options: PlanarSetDataOptions): BindingRole;
    getActiveDataId(): string | undefined;
    clearActiveDataId(): void;
    getCurrentBinding(): PlanarDataBinding | undefined;
    getFirstBoundDataId(): string | undefined;
    hasBinding(dataId: string): boolean;
    promoteSourceDataId(dataId: string): void;
    handleRemovedData(dataId: string): void;
    removeBindingsExcept(keepDataIds: Set<string>): void;
    getActorForDataId(dataId: string): ActorEntry | undefined;
    getBindingActor(dataId: string): unknown;
    getActors(): ActorEntry[];
    getDefaultActor(): ActorEntry | undefined;
    getProjectedActorEntries(role?: BindingRole): ActorEntry[];
    findBindingDataIdByActorEntryUID(actorEntryUID: string): string | undefined;
    findDataIdByVolumeId(volumeId: string): string | undefined;
    getDefaultVOIRange(dataId?: string): VOIRange | undefined;
    private promoteFirstAvailableBindingToSource;
}
export default PlanarMountedData;
