import { PBRMaterial } from "./PBRMaterial";
import { TexturedPBRMaterial } from "./TexturedPBRMaterial";
import { type ProceduralTextureFixtureKind } from "./ProceduralTextureFixtures";
export type ArchitecturalMaterialCategory = "wood" | "stone" | "metal" | "fabric" | "glass" | "ceramic";
export interface ArchitecturalMaterialDescriptor {
    readonly id: string;
    readonly label: string;
    readonly category: ArchitecturalMaterialCategory;
    readonly baseColor: readonly [number, number, number, number];
    readonly roughness: number;
    readonly metallic: number;
    readonly normalStrength: number;
    readonly ambientOcclusion: number;
    readonly alpha?: number;
    readonly textureFixture?: ProceduralTextureFixtureKind;
    readonly knownLimits: readonly string[];
}
export interface ArchitecturalMaterialCatalogSummary {
    readonly materialCount: number;
    readonly categories: readonly ArchitecturalMaterialCategory[];
    readonly categoryCounts: Readonly<Record<ArchitecturalMaterialCategory, number>>;
    readonly texturedMaterialCount: number;
    readonly source: "origin-master-examples-arch-viz-material-library-adapted";
    readonly claimBoundary: string;
}
export declare function createArchitecturalMaterialCatalog(): readonly ArchitecturalMaterialDescriptor[];
export declare function architecturalMaterialCatalogSummary(): ArchitecturalMaterialCatalogSummary;
export declare function architecturalMaterialDescriptor(id: string): ArchitecturalMaterialDescriptor;
export declare function createArchitecturalMaterial(id: string): PBRMaterial | TexturedPBRMaterial;
//# sourceMappingURL=ArchitecturalMaterialCatalog.d.ts.map