export type BlenderExportValidationStatus = "pass" | "warn" | "fail";
export interface BlenderExportFixtureManifest {
    readonly schemaVersion: "blender-export-fixtures";
    readonly sourceName: string;
    readonly sourceRepository: string;
    readonly sourceRevision: string;
    readonly sourceReadme: string;
    readonly sourceEvidence: string;
    readonly fixtures: readonly BlenderExportFixture[];
}
export interface BlenderExportFixture {
    readonly id: string;
    readonly name: string;
    readonly path: string;
    readonly upstreamPath: string;
    readonly sourceSha256: string;
    readonly license: string;
    readonly expectedGeneratorPattern: string;
    readonly tags: readonly string[];
}
export interface BlenderExportFixtureInput extends BlenderExportFixture {
    readonly sourceText: string;
}
export interface BlenderExportValidationReport {
    readonly schemaVersion: "blender-export-validation";
    readonly generatedAt: string;
    readonly sourceManifest: Omit<BlenderExportFixtureManifest, "fixtures"> & {
        readonly fixtureCount: number;
    };
    readonly summary: Record<BlenderExportValidationStatus, number> & {
        readonly fixtureCount: number;
    };
    readonly fixtures: readonly BlenderExportValidationFixtureResult[];
}
export interface BlenderExportValidationFixtureResult {
    readonly id: string;
    readonly name: string;
    readonly path: string;
    readonly upstreamPath: string;
    readonly sourceSha256: string;
    readonly license: string;
    readonly tags: readonly string[];
    readonly generator: string;
    readonly status: BlenderExportValidationStatus;
    readonly metrics: {
        readonly scenes: number;
        readonly meshes: number;
        readonly materials: number;
        readonly textures: number;
        readonly images: number;
        readonly animations: number;
        readonly renderables: number;
    };
    readonly diagnostics: readonly BlenderExportValidationDiagnostic[];
}
export interface BlenderExportValidationDiagnostic {
    readonly code: string;
    readonly severity: "info" | "warning" | "error";
    readonly message: string;
    readonly nextAction: string;
}
export declare function createBlenderExportValidationReport(manifest: BlenderExportFixtureManifest, fixtureInputs: readonly BlenderExportFixtureInput[], generatedAt?: string): Promise<BlenderExportValidationReport>;
export declare function assertValidBlenderExportFixtureManifest(manifest: BlenderExportFixtureManifest): BlenderExportFixtureManifest;
//# sourceMappingURL=BlenderExportValidation.d.ts.map