export type ThreeCompatRendererBackend = "webgl2" | "webgpu" | "mock";
export type ThreeCompatRendererSupportState = "supported" | "fallback" | "partial" | "unsupported";
export interface ThreeCompatRendererFeatureStatus {
    readonly feature: string;
    readonly state: ThreeCompatRendererSupportState;
    readonly detail: string;
}
export interface ThreeCompatRendererDiagnostics {
    readonly backend: ThreeCompatRendererBackend;
    readonly features: readonly ThreeCompatRendererFeatureStatus[];
    readonly cpuTimingAvailable: boolean;
    readonly gpuTimingAvailable: boolean;
    readonly screenshotCapture: boolean;
    readonly resizeHandling: boolean;
    readonly deviceLossHandling: boolean;
    readonly warnings: readonly string[];
}
export declare const THREE_COMPAT_REQUIRED_RENDERER_FEATURES: readonly ["perspective-camera", "orthographic-camera", "environment-capture", "directional-light", "point-light", "spot-light", "hemisphere-light", "ambient-light", "rect-area-light", "opaque-material", "alpha-test-material", "alpha-blend-material", "transmissive-material", "double-sided-material", "multiple-render-targets", "depth-textures", "hdr-render-targets", "webgl2-backend", "webgpu-status", "render-target-resize", "screenshot-capture", "timing-diagnostics", "device-loss-handling"];
export declare function summarizeThreeCompatRendererDiagnostics(diagnostics: ThreeCompatRendererDiagnostics): {
    backend: ThreeCompatRendererBackend;
    featureCount: number;
    missing: ("hdr-render-targets" | "depth-textures" | "perspective-camera" | "orthographic-camera" | "environment-capture" | "directional-light" | "point-light" | "spot-light" | "hemisphere-light" | "ambient-light" | "rect-area-light" | "opaque-material" | "alpha-test-material" | "alpha-blend-material" | "transmissive-material" | "double-sided-material" | "multiple-render-targets" | "webgl2-backend" | "webgpu-status" | "render-target-resize" | "screenshot-capture" | "timing-diagnostics" | "device-loss-handling")[];
    partial: string[];
    warningCount: number;
    canClaimRendererBreadth: boolean;
};
//# sourceMappingURL=RendererDiagnostics.d.ts.map