/**
 * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { Box3D, DensityData, DensityTextureData } from '../geometry';
import { PositionData } from './common';
import { WebGLContext } from '../../mol-gl/webgl/context';
import { Texture } from '../../mol-gl/webgl/texture';
import { Task } from '../../mol-task/task';
export declare const DefaultGaussianDensityProps: {
    resolution: number;
    radiusOffset: number;
    smoothness: number;
};
export declare type GaussianDensityProps = typeof DefaultGaussianDensityProps;
export declare type GaussianDensityData = {
    radiusFactor: number;
    resolution: number;
} & DensityData;
export declare type GaussianDensityTextureData = {
    radiusFactor: number;
    resolution: number;
} & DensityTextureData;
export declare function computeGaussianDensity(position: PositionData, box: Box3D, radius: (index: number) => number, props: GaussianDensityProps): Task<GaussianDensityData>;
export declare function computeGaussianDensityTexture(position: PositionData, box: Box3D, radius: (index: number) => number, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<GaussianDensityTextureData>;
export declare function computeGaussianDensityTexture2d(position: PositionData, box: Box3D, radius: (index: number) => number, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<GaussianDensityTextureData>;
export declare function computeGaussianDensityTexture3d(position: PositionData, box: Box3D, radius: (index: number) => number, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<GaussianDensityTextureData>;
