import { ViewportType } from '../../../enums/index.js';
import type { CPUIImageData, IImage } from '../../../types/index.js';
import type { DataAddOptions, LoadedData, RenderPathAttachment, RenderPathDefinition, RenderPath } from '../ViewportArchitectureTypes.js';
import type { PlanarDataPresentation, PlanarCpuImageAdapterContext, PlanarViewportRenderContext } from './PlanarViewportTypes.js';
export declare class CpuImageSliceRenderPath implements RenderPath<PlanarCpuImageAdapterContext> {
    addData(ctx: PlanarCpuImageAdapterContext, data: LoadedData, options: DataAddOptions): Promise<RenderPathAttachment<PlanarDataPresentation>>;
    private updateDataPresentation;
    private applyViewState;
    private canvasToWorld;
    private worldToCanvas;
    private getFrameOfReferenceUID;
    private getImageData;
    private render;
    private resize;
    private removeData;
}
export declare class CpuImageSlicePath implements RenderPathDefinition<PlanarViewportRenderContext, PlanarCpuImageAdapterContext> {
    readonly id = "planar:cpu-image-slice";
    readonly type = ViewportType.PLANAR_NEXT;
    matches(data: LoadedData, options: DataAddOptions): boolean;
    createRenderPath(): CpuImageSliceRenderPath;
    selectContext(rootContext: PlanarViewportRenderContext): PlanarCpuImageAdapterContext;
}
export declare function buildPlanarImageData(image: IImage, frameOfReferenceUID?: string): CPUIImageData;
