import type { GLTFAsset } from "./GLTFLoader";
export interface GLTFSceneAnalysisOptions {
    readonly asset: GLTFAsset;
    readonly url?: string;
    readonly maskWidth?: number;
    readonly maskHeight?: number;
    readonly minCoverage?: number;
    readonly topCategories?: number;
}
export interface GLTFSemanticSegment {
    readonly label: string;
    readonly classIndex: number;
    readonly pixelCount: number;
    readonly coverage: number;
    readonly confidence: number;
    readonly source: "geometry" | "material" | "texture" | "animation" | "scene";
}
export type GLTFComputerVisionBoundingBox = readonly [number, number, number, number];
export interface GLTFObjectDetectionEvidence {
    readonly label: string;
    readonly confidence: number;
    readonly bbox: GLTFComputerVisionBoundingBox;
    readonly classIndex: number;
    readonly meshName: string;
    readonly materialName: string;
}
export interface GLTFObjectTrackEvidence {
    readonly id: number;
    readonly label: string;
    readonly bbox: GLTFComputerVisionBoundingBox;
    readonly confidence: number;
    readonly age: number;
    readonly timeSinceUpdate: number;
    readonly velocity: GLTFComputerVisionBoundingBox;
    readonly historyLength: number;
}
export interface GLTFPoseKeypointEvidence {
    readonly name: string;
    readonly x: number;
    readonly y: number;
    readonly confidence: number;
}
export interface GLTFPoseEvidence {
    readonly label: string;
    readonly confidence: number;
    readonly bbox: GLTFComputerVisionBoundingBox;
    readonly keypoints: readonly GLTFPoseKeypointEvidence[];
}
export interface GLTFSceneAnalysisEvidence {
    readonly source: "origin-master-scene-analyzer-adapted";
    readonly analyzer: "deterministic-gltf-scene-analysis";
    readonly assetId: string;
    readonly mask: {
        readonly width: number;
        readonly height: number;
        readonly classCount: number;
        readonly hash: string;
        readonly dominantClassIndex: number;
    };
    readonly segments: readonly GLTFSemanticSegment[];
    readonly dominantCategories: readonly string[];
    readonly confidence: number;
    readonly objectDetections: readonly GLTFObjectDetectionEvidence[];
    readonly objectTracks: readonly GLTFObjectTrackEvidence[];
    readonly poses: readonly GLTFPoseEvidence[];
    readonly cvSystem: {
        readonly source: "gltf-metadata-not-camera";
        readonly classificationTelemetry: boolean;
        readonly detectionTelemetry: boolean;
        readonly trackingTelemetry: boolean;
        readonly poseTelemetry: boolean;
        readonly inferenceRuntime: "not-used";
        readonly modelLoading: "not-used";
    };
    readonly sceneComplexity: {
        readonly meshCount: number;
        readonly materialCount: number;
        readonly textureCount: number;
        readonly vertexCount: number;
        readonly indexCount: number;
        readonly animationCount: number;
        readonly skinCount: number;
        readonly morphTargetCount: number;
        readonly extensionCount: number;
    };
    readonly productionReadiness: {
        readonly semanticSegmentTelemetry: true;
        readonly deterministicMaskSummary: true;
        readonly deterministicObjectTelemetry: true;
        readonly deterministicTrackingTelemetry: true;
        readonly skeletalPoseTelemetry: boolean;
        readonly complexityBudgetTelemetry: true;
        readonly browserAssetViewerEvidence: true;
    };
    readonly blockedClaims: readonly string[];
    readonly claimBoundary: string;
    readonly hash: string;
}
export declare function createGLTFSceneAnalysisEvidence(options: GLTFSceneAnalysisOptions): GLTFSceneAnalysisEvidence;
//# sourceMappingURL=SceneAnalysisFixtures.d.ts.map