/** @packageDocumentation
 * @module Rendering
 */
import { ColorIndex, FeatureIndex, QParams2d, QParams3d } from "@itwin/core-common";
import { VertexTable } from "./VertexTable";
import { MeshParams } from "./MeshParams";
import { MeshArgs } from "../../../render/MeshArgs";
import { PolylineArgs } from "../../../render/PolylineArgs";
/** @internal */
export declare function createMeshParams(args: MeshArgs, maxDimension: number, enableIndexedEdges: boolean): MeshParams;
/** Builds a VertexTable from some data type supplying the vertex data.
 * @internal
 */
export declare abstract class VertexTableBuilder {
    data?: Uint8Array;
    private _curIndex;
    abstract get numVertices(): number;
    abstract get numRgbaPerVertex(): number;
    abstract get qparams(): QParams3d;
    abstract get usesUnquantizedPositions(): boolean;
    get uvParams(): QParams2d | undefined;
    abstract appendVertex(vertIndex: number): void;
    appendColorTable(colorIndex: ColorIndex): void;
    protected advance(nBytes: number): void;
    protected append8(val: number): void;
    protected append16(val: number): void;
    protected append32(val: number): void;
    private appendColor;
    build(colorIndex: ColorIndex, featureIndex: FeatureIndex, maxDimension: number): VertexTable;
    static buildFromPolylines(args: PolylineArgs, maxDimension: number): VertexTable | undefined;
}
//# sourceMappingURL=VertexTableBuilder.d.ts.map