/**
 * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { TextureImage } from '../../../mol-gl/renderable/util';
import { Sphere3D } from '../../../mol-math/geometry';
import { Vec2 } from '../../../mol-math/linear-algebra';
import { ValueCell } from '../../../mol-util';
import { ParamDefinition as PD } from '../../../mol-util/param-definition';
import { GeometryUtils } from '../geometry';
export declare const InterpolationTypes: {
    nearest: string;
    catmulrom: string;
    mitchell: string;
    bspline: string;
};
export declare type InterpolationTypes = keyof typeof InterpolationTypes;
export declare const InterpolationTypeNames: ("bspline" | "nearest" | "catmulrom" | "mitchell")[];
export { Image };
interface Image {
    readonly kind: 'image';
    readonly imageTexture: ValueCell<TextureImage<Uint8Array>>;
    readonly imageTextureDim: ValueCell<Vec2>;
    readonly cornerBuffer: ValueCell<Float32Array>;
    readonly groupTexture: ValueCell<TextureImage<Uint8Array>>;
    /** Bounding sphere of the image */
    boundingSphere: Sphere3D;
}
declare namespace Image {
    function create(imageTexture: TextureImage<Uint8Array>, corners: Float32Array, groupTexture: TextureImage<Uint8Array>, image?: Image): Image;
    function createEmpty(image?: Image): Image;
    const Params: {
        interpolation: PD.Select<"bspline" | "nearest" | "catmulrom" | "mitchell">;
        alpha: PD.Numeric;
        quality: PD.Select<"custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest">;
    };
    type Params = typeof Params;
    const Utils: GeometryUtils<Image, Params>;
}
