import { IDisposable } from '../../Interfaces/IDisposable';
import { BaseProceduralTexture } from './BaseProceduralTexture';
export declare class MultiplyProceduralTexture extends BaseProceduralTexture implements IDisposable {
    static readonly FRAGMENT_SHADER = "zakeke_MultiplyProceduralTexture";
    static readonly CUSTOM_TYPE = "Zakeke.MultiplyProceduralTexture";
    private _blendTexture;
    get blendTexture(): BABYLON.Texture;
    set blendTexture(texture: BABYLON.Texture);
    constructor(name: string, size: number, scene: BABYLON.Scene, baseTexture: BABYLON.Texture, blendTexture: BABYLON.Texture, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
    dispose(): void;
    updateShaderUniforms(): void;
    /**
    * Render the texture to its associated render target.
    * @param useCameraPostProcess Define if camera post process should be applied to the texture
    */
    render(useCameraPostProcess?: boolean): void;
    /**
      * Resize the texture to new value.
      * @param size Define the new size the texture should have
      * @param generateMipMaps Define whether the new texture should create mip maps
      */
    resize(size: number, generateMipMaps: boolean): void;
}
