/**
 * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { Renderable, RenderableState } from '../renderable';
import { WebGLContext } from '../webgl/context';
import { AttributeSpec, Values, UniformSpec, TextureSpec, ElementsSpec, DefineSpec } from './schema';
export declare const DirectVolumeSchema: {
    aPosition: AttributeSpec<"float32">;
    elements: ElementsSpec<"uint32">;
    uColor: UniformSpec<"v3">;
    uColorTexDim: UniformSpec<"v2">;
    tColor: TextureSpec<"image-uint8">;
    dColorType: DefineSpec<"string">;
    uIsoValue: UniformSpec<"v2">;
    uBboxMin: UniformSpec<"v3">;
    uBboxMax: UniformSpec<"v3">;
    uBboxSize: UniformSpec<"v3">;
    uMaxSteps: UniformSpec<"i">;
    uStepScale: UniformSpec<"f">;
    uJumpLength: UniformSpec<"f">;
    uTransform: UniformSpec<"m4">;
    uGridDim: UniformSpec<"v3">;
    dRenderMode: DefineSpec<"string">;
    dSingleLayer: DefineSpec<"boolean">;
    tTransferTex: TextureSpec<"image-uint8">;
    uTransferScale: UniformSpec<"f">;
    dGridTexType: DefineSpec<"string">;
    uGridTexDim: UniformSpec<"v3">;
    tGridTex: TextureSpec<"texture">;
    uGridStats: UniformSpec<"v4">;
    uCellDim: UniformSpec<"v3">;
    uCartnToUnit: UniformSpec<"m4">;
    uUnitToCartn: UniformSpec<"m4">;
    dPackedGroup: DefineSpec<"boolean">;
    dDoubleSided: DefineSpec<"boolean">;
    dFlipSided: DefineSpec<"boolean">;
    dFlatShaded: DefineSpec<"boolean">;
    dIgnoreLight: DefineSpec<"boolean">;
    dXrayShaded: DefineSpec<"boolean">;
    aInstance: AttributeSpec<"float32">;
    aTransform: AttributeSpec<"float32">;
    uAlpha: UniformSpec<"f">;
    uVertexCount: UniformSpec<"i">;
    uInstanceCount: UniformSpec<"i">;
    uGroupCount: UniformSpec<"i">;
    uInvariantBoundingSphere: UniformSpec<"v4">;
    drawCount: import("./schema").ValueSpec<"number">;
    instanceCount: import("./schema").ValueSpec<"number">;
    alpha: import("./schema").ValueSpec<"number">;
    matrix: import("./schema").ValueSpec<"m4">;
    transform: import("./schema").ValueSpec<"float32">;
    extraTransform: import("./schema").ValueSpec<"float32">;
    hasReflection: import("./schema").ValueSpec<"boolean">;
    boundingSphere: import("./schema").ValueSpec<"sphere">;
    invariantBoundingSphere: import("./schema").ValueSpec<"sphere">;
    dClipObjectCount: DefineSpec<"number">;
    dClipVariant: DefineSpec<"string">;
    uClippingTexDim: UniformSpec<"v2">;
    tClipping: TextureSpec<"image-uint8">;
    dClipping: DefineSpec<"boolean">;
    uTransparencyTexDim: UniformSpec<"v2">;
    tTransparency: TextureSpec<"image-uint8">;
    dTransparency: DefineSpec<"boolean">;
    transparencyAverage: import("./schema").ValueSpec<"number">;
    uOverpaintTexDim: UniformSpec<"v2">;
    tOverpaint: TextureSpec<"image-uint8">;
    dOverpaint: DefineSpec<"boolean">;
    uMarker: UniformSpec<"f">;
    uMarkerTexDim: UniformSpec<"v2">;
    tMarker: TextureSpec<"image-uint8">;
    dMarkerType: DefineSpec<"string">;
    markerAverage: import("./schema").ValueSpec<"number">;
    markerStatus: import("./schema").ValueSpec<"number">;
    uColorGridDim: UniformSpec<"v3">;
    uColorGridTransform: UniformSpec<"v4">;
    tPalette: TextureSpec<"image-uint8">;
    tColorGrid: TextureSpec<"texture">;
    dUsePalette: DefineSpec<"boolean">;
};
export declare type DirectVolumeSchema = typeof DirectVolumeSchema;
export declare type DirectVolumeValues = Values<DirectVolumeSchema>;
export declare function DirectVolumeRenderable(ctx: WebGLContext, id: number, values: DirectVolumeValues, state: RenderableState, materialId: number): Renderable<DirectVolumeValues>;
