import { IDisposable } from '../../Interfaces/IDisposable';
import { Nullable } from '../../types';
export declare class BlendProceduralTexture extends BABYLON.ProceduralTexture implements IDisposable {
    private _baseTexture;
    private _blendTexture;
    static readonly FRAGMENT_SHADER = "zakeke_BlendProceduralTexture";
    static readonly CUSTOM_TYPE = "Zakeke.BlendProceduralTexture";
    constructor(name: string, size: number, scene?: Nullable<BABYLON.Scene>, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
    dispose(): void;
    updateShaderUniforms(): void;
    render(useCameraPostProcess?: boolean): void;
    resize(size: number, generateMipMaps: any): void;
    isReady(): boolean;
    get baseTexture(): Nullable<BABYLON.Texture>;
    set baseTexture(texture: Nullable<BABYLON.Texture>);
    get blendTexture(): Nullable<BABYLON.Texture>;
    set blendTexture(texture: Nullable<BABYLON.Texture>);
    /**
     * Serializes this normal map procedural texture
     * @returns a serialized normal map procedural texture object
     */
    serialize(): any;
    /**
     * Creates a Normal Map Procedural Texture from parsed normal map procedural texture data
     * @param parsedTexture defines parsed texture data
     * @param scene defines the current scene
     * @param rootUrl defines the root URL containing normal map procedural texture information
     * @returns a parsed Normal Map Procedural Texture
     */
    static Parse(parsedTexture: any, scene: BABYLON.Scene, rootUrl: string): BlendProceduralTexture;
}
