/**
 * computes displacement based on a texture.
 *
 * @remarks
 *
 * Normals are computed based on the UV.
 *
 *
 *
 */
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ShadersCollectionController } from './code/utils/ShadersCollectionController';
import { GlType } from '../../poly/registers/nodes/types/Gl';
import { TypedGlNode } from './_Base';
import { ParamType } from '../../poly/ParamType';
export declare enum DisplacementTextureOutput {
    P = "P",
    N = "N"
}
declare class TextureDisplacementGlParamsConfig extends NodeParamsConfig {
    paramName: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.STRING>;
    computeAllNeighbours: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.BOOLEAN>;
    position: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR3>;
    normal: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR3>;
    uv: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR2>;
    amount: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.FLOAT>;
    textureSize: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR2>;
    tangentsPosOffset: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR2>;
    textureComponent: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.INTEGER>;
}
export declare class TextureDisplacementGlNode extends TypedGlNode<TextureDisplacementGlParamsConfig> {
    paramsConfig: TextureDisplacementGlParamsConfig;
    static type(): GlType;
    initializeNode(): void;
    setLines(linesController: ShadersCollectionController): void;
    paramsGenerating(): boolean;
    setParamConfigs(): void;
    uniformName(): string;
}
export {};
