/**
 * fresnel returns the dot product between the surface normal and the eye vector.
 *
 * @remarks
 *
 * This can be very useful to affect transparency or reflection based on the angle at which a surface is viewed at.
 *
 */
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { TypedGlNode } from './_Base';
import { ShadersCollectionController } from './code/utils/ShadersCollectionController';
declare class FresnelGlParamsConfig extends NodeParamsConfig {
    worldPosition: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR4>;
    worldNormal: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    cameraPosition: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
}
export declare class FresnelGlNode extends TypedGlNode<FresnelGlParamsConfig> {
    paramsConfig: FresnelGlParamsConfig;
    static type(): string;
    initializeNode(): void;
    setLines(shadersCollectionController: ShadersCollectionController): void;
    private _varFromParam;
    private _getGlobalVar;
}
export {};
