export type CurrentRoutesAssetClass = "product" | "automotive" | "character" | "animation" | "materials" | "architecture" | "physics";
export interface CurrentRoutesAssetRequirement {
    readonly minimumAssetCount: number;
    readonly minimumTotalBytes: number;
    readonly minimumTotalTriangles: number;
    readonly minimumTexturedPbrAssets: number;
    readonly minimumAnimationAssets: number;
    readonly minimumSkinAssets: number;
    readonly minimumMorphAssets: number;
    readonly minimumMaterialExtensionAssets: number;
    readonly requiredClasses: readonly CurrentRoutesAssetClass[];
    readonly requiredFeatures: readonly string[];
}
export interface CurrentRoutesAssetManifestEntry {
    readonly id: string;
    readonly name: string;
    readonly class: CurrentRoutesAssetClass;
    readonly role: string;
    readonly localPath: string;
    readonly source: string;
    readonly sourceUri: string;
    readonly license: string;
    readonly sha256: string;
    readonly bytes: number;
    readonly triangleCount: number;
    readonly textureCount: number;
    readonly animationCount: number;
    readonly skinCount: number;
    readonly morphTargetCount: number;
    readonly materialExtensionCount: number;
    readonly tags: readonly string[];
    readonly requiredFeatures: readonly string[];
}
export interface CurrentRoutesEnvironmentManifestEntry {
    readonly id: string;
    readonly name: string;
    readonly localPath: string;
    readonly source: string;
    readonly sourceUri: string;
    readonly license: string;
    readonly sha256: string;
    readonly bytes: number;
    readonly tags: readonly string[];
}
export interface CurrentRoutesAssetManifest {
    readonly schema: "a3d-current-routes-local-asset-corpus";
    readonly claimBoundary: string;
    readonly requirements: CurrentRoutesAssetRequirement;
    readonly assets: readonly CurrentRoutesAssetManifestEntry[];
    readonly environments: readonly CurrentRoutesEnvironmentManifestEntry[];
}
export interface CurrentRoutesGlbInspection {
    readonly validGlb: boolean;
    readonly version: number;
    readonly jsonChunkBytes: number;
    readonly sceneCount: number;
    readonly nodeCount: number;
    readonly meshCount: number;
    readonly primitiveCount: number;
    readonly vertexCount: number;
    readonly triangleCount: number;
    readonly materialCount: number;
    readonly texturedPbrMaterialCount: number;
    readonly textureCount: number;
    readonly imageCount: number;
    readonly animationCount: number;
    readonly animationChannelCount: number;
    readonly animationSamplerCount: number;
    readonly skinCount: number;
    readonly jointCount: number;
    readonly morphTargetPrimitiveCount: number;
    readonly morphTargetCount: number;
    readonly materialExtensionCount: number;
    readonly materialTextureSlotCount: number;
    readonly textureTransformCount: number;
    readonly materialVariantCount: number;
    readonly extensionsUsed: readonly string[];
    readonly extensionsRequired: readonly string[];
    readonly features: readonly string[];
    readonly unsupportedRequiredExtensions: readonly string[];
}
export interface CurrentRoutesAssetReadinessEntry {
    readonly id: string;
    readonly localPath: string;
    readonly exists: boolean;
    readonly bytesMatch: boolean;
    readonly sha256Matches: boolean;
    readonly missingDeclaredFields: readonly string[];
    readonly missingRequiredFeatures: readonly string[];
    readonly inspection: CurrentRoutesGlbInspection | null;
}
export interface CurrentRoutesEnvironmentReadinessEntry {
    readonly id: string;
    readonly localPath: string;
    readonly exists: boolean;
    readonly bytesMatch: boolean;
    readonly sha256Matches: boolean;
    readonly bytes: number;
}
export interface AdvancedAssetCorpusSummary {
    readonly schema: "a3d-current-routes-asset-readiness";
    readonly pass: boolean;
    readonly assetCount: number;
    readonly environmentCount: number;
    readonly existingAssetCount: number;
    readonly shaVerifiedAssetCount: number;
    readonly totalBytes: number;
    readonly totalTriangles: number;
    readonly texturedPbrAssetCount: number;
    readonly animationAssetCount: number;
    readonly skinAssetCount: number;
    readonly morphAssetCount: number;
    readonly materialExtensionAssetCount: number;
    readonly classCoverage: readonly CurrentRoutesAssetClass[];
    readonly featureCoverage: readonly string[];
    readonly failures: readonly string[];
    readonly entries: readonly CurrentRoutesAssetReadinessEntry[];
    readonly environments: readonly CurrentRoutesEnvironmentReadinessEntry[];
}
export declare function loadCurrentRoutesAssetManifest(path?: string): CurrentRoutesAssetManifest;
export declare function inspectCurrentRoutesGlb(path: string): CurrentRoutesGlbInspection;
export declare function createAdvancedAssetCorpusSummary(manifest?: CurrentRoutesAssetManifest): AdvancedAssetCorpusSummary;
export declare function writeAdvancedAssetCorpusReport(path?: string): AdvancedAssetCorpusSummary;
//# sourceMappingURL=AdvancedAssetCorpus.d.ts.map