import type { ThreeApiCategory, ThreeApiInventory, ThreeApiInventoryEntry } from "./ThreeApiInventory";
export type ThreeCompatibilityStatus = "supported" | "partial" | "planned" | "blocked" | "out-of-scope";
export interface ThreeCompatibilityEntry extends ThreeApiInventoryEntry {
    readonly status: ThreeCompatibilityStatus;
    readonly a3dEquivalent: string;
    readonly notes: string;
}
export interface ThreeCompatibilityThreshold {
    readonly category: ThreeApiCategory | "overall";
    readonly minimumSupportedOrPartialPercent: number;
}
export interface ThreeCompatibilityMatrix {
    readonly schema: "a3d-three-compat-threejs-compatibility-matrix";
    readonly threeVersion: string;
    readonly totalEntries: number;
    readonly entries: readonly ThreeCompatibilityEntry[];
    readonly thresholds: readonly ThreeCompatibilityThreshold[];
    readonly coverage: readonly {
        readonly category: ThreeApiCategory | "overall";
        readonly total: number;
        readonly supportedOrPartial: number;
        readonly percent: number;
        readonly threshold: number;
        readonly meetsThreshold: boolean;
    }[];
}
export declare const THREE_COMPAT_COMPATIBILITY_THRESHOLDS: readonly ThreeCompatibilityThreshold[];
export declare function buildInitialCompatibilityMatrix(inventory: ThreeApiInventory): ThreeCompatibilityMatrix;
export declare function supportedOrPartial(status: ThreeCompatibilityStatus): boolean;
//# sourceMappingURL=ThreeCompatibilityMatrix.d.ts.map