/**
 * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { RenderableState } from '../../mol-gl/renderable';
import { ValueCell } from '../../mol-util';
import { BaseValues } from '../../mol-gl/renderable/schema';
import { LocationIterator } from '../util/location-iterator';
import { ParamDefinition as PD } from '../../mol-util/param-definition';
import { TransformData } from './transform-data';
import { Theme } from '../../mol-theme/theme';
export declare const VisualQualityInfo: {
    custom: {};
    auto: {};
    highest: {};
    higher: {};
    high: {};
    medium: {};
    low: {};
    lower: {};
    lowest: {};
};
export declare type VisualQuality = keyof typeof VisualQualityInfo;
export declare const VisualQualityNames: ("custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest")[];
export declare const VisualQualityOptions: ["custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest", string][];
export declare namespace BaseGeometry {
    const Params: {
        alpha: PD.Numeric;
        quality: PD.Select<"custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest">;
    };
    type Params = typeof Params;
    const ShadingCategory: PD.Info;
    const CustomQualityParamInfo: PD.Info;
    type Counts = {
        drawCount: number;
        vertexCount: number;
        groupCount: number;
        instanceCount: number;
    };
    function createSimple(colorValue?: import("../../mol-util/color").Color, sizeValue?: number, transform?: TransformData): {
        transform: TransformData;
        locationIterator: LocationIterator;
        theme: Theme;
    };
    function createValues(props: PD.Values<Params>, counts: Counts): {
        alpha: ValueCell<number, never>;
        uAlpha: ValueCell<number, never>;
        uVertexCount: ValueCell<number, never>;
        uGroupCount: ValueCell<number, never>;
        drawCount: ValueCell<number, never>;
    };
    function updateValues(values: BaseValues, props: PD.Values<Params>): void;
    function createRenderableState(props?: Partial<PD.Values<Params>>): RenderableState;
    function updateRenderableState(state: RenderableState, props: PD.Values<Params>): void;
}
