import { IDisposable } from '../../Interfaces/IDisposable';
export declare class ProceduralNormalMap implements IDisposable {
    private _size;
    private _scene;
    private _baseTexture;
    private _bias;
    private _invertR;
    private _invertG;
    private _preBlurEnabled;
    private _preBlur;
    private _postBlurEnabled;
    private _postBlur;
    private _bevel;
    private _intensity;
    private _activeTextures;
    private _preBlurXTexture;
    private _preBlurYTexture;
    private _normalMapTexture;
    private _postBlurXTexture;
    private _postBlurYTexture;
    constructor(baseTexture: BABYLON.Texture, size: number, config: MPlaza.NormalmapConfig, scene: BABYLON.Scene);
    private init;
    private updateTextures;
    private updatePreBlurTexture;
    private updateNormalmapTexture;
    private updatePostBlurTexture;
    dispose(): void;
    getNormalMapTextureAsync(baseTexture: BABYLON.Texture, config: MPlaza.NormalmapConfig): Promise<BABYLON.ProceduralTexture | null>;
    updateAsync(baseTexture: BABYLON.Texture, config: MPlaza.NormalmapConfig): Promise<void>;
}
