import { ThreeCompatInstancingSystem } from "./InstancingSystem";
import { ThreeCompatLightingSystem } from "./LightingSystem";
import { ThreeCompatMaterialSystem } from "./MaterialSystem";
import { ThreeCompatRenderTargetSystem } from "./RenderTargetSystem";
import { type ThreeCompatRendererBackend, type ThreeCompatRendererDiagnostics } from "./RendererDiagnostics";
import { ThreeCompatSceneRenderer } from "./SceneRenderer";
import { ThreeCompatShadowSystem } from "./ShadowSystem";
import { ThreeCompatTextureSystem } from "./TextureSystem";
import { ThreeCompatTransparencySystem } from "./TransparencySystem";
export interface ThreeCompatRendererOptions {
    readonly backend?: ThreeCompatRendererBackend;
    readonly width?: number;
    readonly height?: number;
}
export declare class ThreeCompatRenderer {
    readonly backend: ThreeCompatRendererBackend;
    readonly renderTargets: ThreeCompatRenderTargetSystem;
    readonly textures: ThreeCompatTextureSystem;
    readonly materials: ThreeCompatMaterialSystem;
    readonly lighting: ThreeCompatLightingSystem;
    readonly shadows: ThreeCompatShadowSystem;
    readonly transparency: ThreeCompatTransparencySystem;
    readonly instancing: ThreeCompatInstancingSystem;
    readonly sceneRenderer: ThreeCompatSceneRenderer;
    private lost;
    constructor(options?: ThreeCompatRendererOptions);
    resize(width: number, height: number): import("./RenderTargetSystem").ThreeCompatRenderTargetDescriptor;
    captureScreenshot(): string;
    handleDeviceLost(reason: string): {
        readonly recovered: boolean;
        readonly reason: string;
    };
    createDiagnostics(): ThreeCompatRendererDiagnostics;
    createComplexScenePlan(): import("./SceneRenderer").ThreeCompatSceneRenderPlan;
}
export declare function createThreeCompatRenderer(options?: ThreeCompatRendererOptions): ThreeCompatRenderer;
//# sourceMappingURL=ThreeCompatRenderer.d.ts.map