import type { IViewport, PublicViewportInput, VtkOffscreenMultiRenderWindow } from '../types/index.js';
declare class RenderingEngine {
    hasBeenDestroyed: boolean;
    offscreenMultiRenderWindow: VtkOffscreenMultiRenderWindow;
    private _implementation?;
    constructor(id?: string);
    get id(): string;
    disableViewport(viewportId: string): void;
    enableElement(viewportInputEntry: PublicViewportInput): void;
    disableElement(viewportId: string): void;
    setViewports(publicViewportInputEntries: PublicViewportInput[]): void;
    resize(immediate?: boolean, keepCamera?: boolean): void;
    getViewport<T = IViewport>(viewportId: string): T;
    getViewports(): IViewport[];
    getRenderer(viewportId: string): import("@kitware/vtk.js/Rendering/Core/Renderer").vtkRenderer;
    fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
    render(): void;
    renderViewports(viewportIds: string[]): void;
    renderViewport(viewportId: string): void;
    destroy(): void;
    getOffscreenMultiRenderWindow(viewportId?: string): VtkOffscreenMultiRenderWindow;
}
export default RenderingEngine;
