export interface EditorDiagnosticsResource {
    readonly id: string;
    readonly label: string;
    readonly kind: "scene-node" | "asset" | "material" | "shader" | "script";
    readonly status: "ok" | "warning" | "error";
    readonly detail?: string;
}
export interface EditorDiagnosticsInput {
    readonly frameTimeMs: number;
    readonly drawCalls: number;
    readonly triangleCount?: number;
    readonly nodeCount: number;
    readonly assetCount: number;
    readonly physicsBodies: number;
    readonly resources?: readonly EditorDiagnosticsResource[];
}
export interface EditorDiagnosticsSnapshot extends EditorDiagnosticsInput {
    readonly warnings: number;
    readonly errors: number;
    readonly shaderWarnings: readonly EditorDiagnosticsResource[];
    readonly resourceWarnings: readonly EditorDiagnosticsResource[];
}
export declare class DiagnosticsOverlayModel {
    private snapshotRef;
    update(input: EditorDiagnosticsInput): EditorDiagnosticsSnapshot;
    snapshot(): EditorDiagnosticsSnapshot;
    clear(): void;
    private createSnapshot;
}
//# sourceMappingURL=DiagnosticsOverlayModel.d.ts.map