import { TgdLight } from "../light";
import { TgdVec4 } from "../math";
import { TgdTexture2D } from "../texture";
import type { ArrayNumber4 } from "../types";
import { TgdMaterial } from "./material";
export type TgdMaterialDiffuseOptions = Partial<{
    color: TgdVec4 | ArrayNumber4 | TgdTexture2D;
    light: TgdLight;
    ambient: TgdLight;
    specularExponent: number;
    specularIntensity: number;
    lockLightsToCamera: boolean;
    /**
     * Every fragment with an alpha strictly lower than `alphaCut`
     * will be discarded.
     */
    alphaCut: number;
}>;
export declare class TgdMaterialDiffuse extends TgdMaterial {
    light: TgdLight;
    ambient: TgdLight;
    specularExponent: number;
    specularIntensity: number;
    alphaCut: number;
    readonly texture: TgdTexture2D | null;
    private readonly lightColor;
    private readonly ambientColor;
    constructor(options?: TgdMaterialDiffuseOptions);
}
//# sourceMappingURL=diffuse.d.ts.map