export type ProductionEnvironmentProbeType = "diffuseIrradiance" | "specularPrefilter" | "brdfLut" | "background";
export interface ProductionEnvironmentRequirements {
    readonly minimumRealHdriSources: number;
    readonly minimumResolution: readonly [number, number];
    readonly minimumTotalBytes: number;
    readonly requiredProbeTypes: readonly ProductionEnvironmentProbeType[];
    readonly everyFlagshipRequiresNamedEnvironment: boolean;
    readonly mustVerifySha256: boolean;
    readonly mustFeedRendererIbl: boolean;
}
export interface ProductionPMREMPreset {
    readonly faceSize: number;
    readonly mipCount: number;
    readonly cacheKey: string;
}
export interface ProductionHDREnvironment {
    readonly id: string;
    readonly label: string;
    readonly class: string;
    readonly license: string;
    readonly author: string;
    readonly sourceName: string;
    readonly sourceUri: string;
    readonly downloadUri: string;
    readonly localPath: string;
    readonly sha256: string;
    readonly bytes: number;
    readonly resolution: readonly [number, number];
    readonly format: "rgbe-hdr";
    readonly intensity: number;
    readonly backgroundIntensity: number;
    readonly exposure: number;
    readonly whitePoint: number;
    readonly rotation: number;
    readonly pmrem: ProductionPMREMPreset;
    readonly probes: readonly ProductionEnvironmentProbeType[];
}
export interface ProductionEnvironmentManifest {
    readonly schema: "a3d-production-runtime-hdr-environment-corpus";
    readonly requirements: ProductionEnvironmentRequirements;
    readonly claimBoundary: string;
    readonly flagshipBindings: Readonly<Record<string, string>>;
    readonly environments: readonly ProductionHDREnvironment[];
}
export interface ProductionHDRInspection {
    readonly hasRadianceHeader: boolean;
    readonly hasFormatHeader: boolean;
    readonly declaredResolution: readonly [number, number] | null;
    readonly expectedResolution: readonly [number, number];
    readonly dataBytes: number;
}
export interface ProductionEnvironmentReadinessEntry {
    readonly id: string;
    readonly localPath: string;
    readonly exists: boolean;
    readonly sha256Matches: boolean;
    readonly bytesMatch: boolean;
    readonly inspection: ProductionHDRInspection | null;
}
export interface ProductionEnvironmentCorpusSummary {
    readonly schema: "a3d-production-runtime-environment-readiness";
    readonly pass: boolean;
    readonly environmentCount: number;
    readonly existingEnvironmentCount: number;
    readonly shaVerifiedEnvironmentCount: number;
    readonly totalBytes: number;
    readonly classCoverage: readonly string[];
    readonly probeCoverage: readonly string[];
    readonly flagshipBindingCount: number;
    readonly unresolvedFlagshipBindings: readonly string[];
    readonly pmremFaceSizes: readonly number[];
    readonly failures: readonly string[];
    readonly entries: readonly ProductionEnvironmentReadinessEntry[];
}
export declare function loadProductionEnvironmentManifest(path?: string): ProductionEnvironmentManifest;
export declare function inspectProductionHDR(path: string, expectedResolution: readonly [number, number]): ProductionHDRInspection;
export declare function createProductionEnvironmentCorpusSummary(manifest?: ProductionEnvironmentManifest): ProductionEnvironmentCorpusSummary;
//# sourceMappingURL=ProductionEnvironmentCorpus.d.ts.map