export type GLTFCorpusSchemaVersion = "gltf-corpus";
export type GLTFCorpusAssetFormat = "gltf" | "glb";
export type GLTFCorpusExpectedStatus = "pass" | "warn" | "expected-fail";
export type AssetDiagnosticSeverity = "info" | "warning" | "error";
export interface AssetDiagnostic {
    readonly code: string;
    readonly severity: AssetDiagnosticSeverity;
    readonly message: string;
    readonly nextAction: string;
    readonly assetId?: string;
}
export interface AssetImportSettings {
    readonly colorSpace: "asset" | "srgb" | "linear";
    readonly mipmaps: "generate" | "preserve" | "none";
    readonly compression: "auto" | "prefer-source" | "none";
    readonly scale: number;
    readonly normals: "preserve" | "generate-if-missing" | "require";
    readonly tangents: "preserve" | "generate-if-missing" | "require";
    readonly animationImport: "all" | "first-clip" | "none";
    readonly materialVariants: "import" | "ignore";
}
export interface GLTFCorpusSource {
    readonly repository: string;
    readonly revision: string;
    readonly path: string;
    readonly uri: string;
    readonly sha256: string;
}
export interface GLTFCorpusAsset {
    readonly id: string;
    readonly name: string;
    readonly source: GLTFCorpusSource;
    readonly format: GLTFCorpusAssetFormat;
    readonly tags: readonly string[];
    readonly license: string;
    readonly expectedStatus: GLTFCorpusExpectedStatus;
    readonly expectedDiagnostics?: readonly AssetDiagnostic[];
    readonly importSettings?: Partial<AssetImportSettings>;
}
export interface GLTFCorpusManifest {
    readonly schemaVersion: GLTFCorpusSchemaVersion;
    readonly generatedFrom: {
        readonly name: string;
        readonly repository: string;
        readonly revision: string;
    };
    readonly assets: readonly GLTFCorpusAsset[];
}
export interface GLTFCorpusAssetReport {
    readonly id: string;
    readonly name: string;
    readonly format: GLTFCorpusAssetFormat;
    readonly expectedStatus: GLTFCorpusExpectedStatus;
    readonly sourceUri: string;
    readonly sourceRevision: string;
    readonly sourceSha256: string;
    readonly tags: readonly string[];
    readonly importSettings: AssetImportSettings;
    readonly diagnostics: readonly AssetDiagnostic[];
}
export interface GLTFCorpusReport {
    readonly schemaVersion: "gltf-corpus-report";
    readonly generatedAt: string;
    readonly sourceManifest: {
        readonly schemaVersion: GLTFCorpusSchemaVersion;
        readonly sourceName: string;
        readonly sourceRepository: string;
        readonly sourceRevision: string;
        readonly assetCount: number;
    };
    readonly summary: {
        readonly pass: number;
        readonly warn: number;
        readonly expectedFail: number;
    };
    readonly assets: readonly GLTFCorpusAssetReport[];
}
export interface GLTFCorpusValidationResult {
    readonly ok: boolean;
    readonly diagnostics: readonly AssetDiagnostic[];
    readonly manifest?: GLTFCorpusManifest;
}
export declare const DEFAULT_ASSET_IMPORT_SETTINGS: AssetImportSettings;
export declare function normalizeAssetImportSettings(settings?: Partial<AssetImportSettings>): AssetImportSettings;
export declare function validateGLTFCorpusManifest(input: unknown): GLTFCorpusValidationResult;
export declare function assertValidGLTFCorpusManifest(input: unknown): GLTFCorpusManifest;
export declare function createGLTFCorpusReport(manifest: GLTFCorpusManifest, generatedAt?: string): GLTFCorpusReport;
//# sourceMappingURL=AssetCorpus.d.ts.map