import type { Mesh } from "@babylonjs/core/Meshes/mesh";
import type { MmdStandardMaterial } from "../Loader/mmdStandardMaterial";
import type { Vec3, Vec4 } from "../Loader/Parser/mmdTypes";
import type { IMmdMaterialProxy } from "./IMmdMaterialProxy";
/**
 * MMD standard material proxy
 *
 * Used to apply MMD material morphs to MMD standard materials
 */
export declare class MmdStandardMaterialProxy implements IMmdMaterialProxy {
    /**
     * Diffuse color
     */
    readonly diffuse: Vec4;
    /**
     * Specular color
     */
    readonly specular: Vec3;
    /**
     * Shininess
     */
    shininess: number;
    /**
     * Ambient color
     */
    readonly ambient: Vec3;
    /**
     * Edge color
     */
    readonly edgeColor: Vec4;
    /**
     * Edge size
     */
    edgeSize: number;
    /**
     * Texture multiplicative color
     */
    readonly textureMultiplicativeColor: Vec4;
    /**
     * Texture additive color
     */
    readonly textureAdditiveColor: Vec4;
    /**
     * Sphere texture multiplicative color
     */
    readonly sphereTextureMultiplicativeColor: Vec4;
    /**
     * Sphere texture additive color
     */
    readonly sphereTextureAdditiveColor: Vec4;
    /**
     * Toon texture multiplicative color
     */
    readonly toonTextureMultiplicativeColor: Vec4;
    /**
     * Toon texture additive color
     */
    readonly toonTextureAdditiveColor: Vec4;
    private readonly _material;
    private readonly _referencedMeshes;
    private readonly _initialDiffuse;
    private readonly _initialSpecular;
    private readonly _initialShininess;
    private readonly _initialAmbient;
    private readonly _initialEdgeColor;
    private readonly _initialEdgeSize;
    private readonly _initialTextureMultiplicativeColor;
    private readonly _initialTextureAdditiveColor;
    private readonly _initialSphereTextureMultiplicativeColor;
    private readonly _initialSphereTextureAdditiveColor;
    private readonly _initialToonTextureMultiplicativeColor;
    private readonly _initialToonTextureAdditiveColor;
    private readonly _initialTransparencyMode;
    /**
     * Create MMD standard material proxy
     * @param material MMD standard material
     */
    constructor(material: MmdStandardMaterial, referencedMeshes: readonly Mesh[]);
    /**
     * Reset material properties to initial state
     */
    reset(): void;
    /**
     * Apply changes to the material
     */
    applyChanges(): void;
}
