/**
 * 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, ElementsSpec, DefineSpec, Values, ValueSpec } from './schema';
export declare const MeshSchema: {
    readonly aGroup: AttributeSpec<"float32">;
    readonly aPosition: AttributeSpec<"float32">;
    readonly aNormal: AttributeSpec<"float32">;
    readonly elements: ElementsSpec<"uint32">;
    readonly dFlatShaded: DefineSpec<"boolean">;
    readonly dDoubleSided: DefineSpec<"boolean">;
    readonly dFlipSided: DefineSpec<"boolean">;
    readonly dIgnoreLight: DefineSpec<"boolean">;
    readonly dXrayShaded: DefineSpec<"boolean">;
    readonly meta: ValueSpec<"unknown">;
    readonly aInstance: AttributeSpec<"float32">;
    readonly aTransform: AttributeSpec<"float32">;
    readonly uAlpha: import("./schema").UniformSpec<"f">;
    readonly uVertexCount: import("./schema").UniformSpec<"i">;
    readonly uInstanceCount: import("./schema").UniformSpec<"i">;
    readonly uGroupCount: import("./schema").UniformSpec<"i">;
    readonly uInvariantBoundingSphere: import("./schema").UniformSpec<"v4">;
    readonly drawCount: ValueSpec<"number">;
    readonly instanceCount: ValueSpec<"number">;
    readonly alpha: ValueSpec<"number">;
    readonly matrix: ValueSpec<"m4">;
    readonly transform: ValueSpec<"float32">;
    readonly extraTransform: ValueSpec<"float32">;
    readonly hasReflection: ValueSpec<"boolean">;
    readonly boundingSphere: ValueSpec<"sphere">;
    readonly invariantBoundingSphere: ValueSpec<"sphere">;
    readonly dClipObjectCount: DefineSpec<"number">;
    readonly dClipVariant: DefineSpec<"string">;
    readonly uClippingTexDim: import("./schema").UniformSpec<"v2">;
    readonly tClipping: import("./schema").TextureSpec<"image-uint8">;
    readonly dClipping: DefineSpec<"boolean">;
    readonly uTransparencyTexDim: import("./schema").UniformSpec<"v2">;
    readonly tTransparency: import("./schema").TextureSpec<"image-uint8">;
    readonly dTransparency: DefineSpec<"boolean">;
    readonly transparencyAverage: ValueSpec<"number">;
    readonly uOverpaintTexDim: import("./schema").UniformSpec<"v2">;
    readonly tOverpaint: import("./schema").TextureSpec<"image-uint8">;
    readonly dOverpaint: DefineSpec<"boolean">;
    readonly uMarker: import("./schema").UniformSpec<"f">;
    readonly uMarkerTexDim: import("./schema").UniformSpec<"v2">;
    readonly tMarker: import("./schema").TextureSpec<"image-uint8">;
    readonly dMarkerType: DefineSpec<"string">;
    readonly markerAverage: ValueSpec<"number">;
    readonly markerStatus: ValueSpec<"number">;
    readonly uColor: import("./schema").UniformSpec<"v3">;
    readonly uColorTexDim: import("./schema").UniformSpec<"v2">;
    readonly uColorGridDim: import("./schema").UniformSpec<"v3">;
    readonly uColorGridTransform: import("./schema").UniformSpec<"v4">;
    readonly tColor: import("./schema").TextureSpec<"image-uint8">;
    readonly tPalette: import("./schema").TextureSpec<"image-uint8">;
    readonly tColorGrid: import("./schema").TextureSpec<"texture">;
    readonly dColorType: DefineSpec<"string">;
    readonly dUsePalette: DefineSpec<"boolean">;
};
export declare type MeshSchema = typeof MeshSchema;
export declare type MeshValues = Values<MeshSchema>;
export declare function MeshRenderable(ctx: WebGLContext, id: number, values: MeshValues, state: RenderableState, materialId: number): Renderable<MeshValues>;
