import { Material, type RenderState } from "./Material";
import { Sampler } from "./Sampler";
import { Texture } from "./Texture";
import { TextureBinding } from "./TextureBinding";
export interface NormalMappedPBRMaterialOptions {
    readonly name?: string;
    readonly baseColor?: readonly [number, number, number, number];
    readonly metallic?: number;
    readonly roughness?: number;
    readonly environmentColor?: readonly [number, number, number];
    readonly environmentIntensity?: number;
    readonly proceduralEnvironmentMap?: NormalMappedPBRProceduralEnvironmentMapOptions;
    readonly environmentMapTexture?: TextureBinding;
    readonly environmentMapIntensity?: number;
    readonly environmentMapSpecularIntensity?: number;
    readonly environmentMapRotation?: number;
    readonly environmentMapMipCount?: number;
    readonly environmentBrdfLutTexture?: TextureBinding;
    readonly emissiveColor?: readonly [number, number, number];
    readonly emissiveStrength?: number;
    readonly normalTexture: Texture;
    readonly normalSampler?: Sampler;
    readonly normalScale?: number;
    readonly renderState?: Partial<RenderState>;
}
export interface NormalMappedPBRProceduralEnvironmentMapOptions {
    readonly skyColor: readonly [number, number, number];
    readonly horizonColor: readonly [number, number, number];
    readonly groundColor: readonly [number, number, number];
    readonly specularColor: readonly [number, number, number];
    readonly intensity: number;
    readonly specularIntensity: number;
}
export declare class NormalMappedPBRMaterial extends Material {
    constructor(options: NormalMappedPBRMaterialOptions);
}
//# sourceMappingURL=NormalMappedPBRMaterial.d.ts.map