/** @packageDocumentation
 * @module WebGL
 */
import { Point3d } from "@itwin/core-geometry";
import { PolylineTypeFlags, QParams3d } from "@itwin/core-common";
import { PolylineParams } from "../../common/internal/render/PolylineParams";
import { RenderMemory } from "../RenderMemory";
import { LUTGeometry, PolylineBuffers } from "./CachedGeometry";
import { ColorInfo } from "./ColorInfo";
import { ShaderProgramParams } from "./DrawCommand";
import { BuffersContainer } from "./AttributeBuffers";
import { Pass, RenderOrder } from "./RenderFlags";
import { Target } from "./Target";
import { TechniqueId } from "./TechniqueId";
import { VertexLUT } from "./VertexLUT";
import { RenderGeometry } from "../../internal/render/RenderGeometry";
/** @internal */
export declare class PolylineGeometry extends LUTGeometry implements RenderGeometry {
    readonly renderGeometryType: "polyline";
    readonly isInstanceable: boolean;
    noDispose: boolean;
    vertexParams: QParams3d;
    private readonly _hasFeatures;
    lineWeight: number;
    lineCode: number;
    type: PolylineTypeFlags;
    private _isPlanar;
    lut: VertexLUT;
    numIndices: number;
    private _buffers;
    get lutBuffers(): BuffersContainer;
    private constructor();
    get isDisposed(): boolean;
    dispose(): void;
    collectStatistics(stats: RenderMemory.Statistics): void;
    get isAnyEdge(): boolean;
    get isNormalEdge(): boolean;
    get isOutlineEdge(): boolean;
    get renderOrder(): RenderOrder;
    protected _wantWoWReversal(_target: Target): boolean;
    get polylineBuffers(): PolylineBuffers | undefined;
    private _computeEdgePass;
    getPass(target: Target): Pass;
    get techniqueId(): TechniqueId;
    get isPlanar(): boolean;
    get isEdge(): boolean;
    get qOrigin(): Float32Array;
    get qScale(): Float32Array;
    get numRgbaPerVertex(): number;
    get hasFeatures(): boolean;
    protected _getLineWeight(params: ShaderProgramParams): number;
    protected _getLineCode(params: ShaderProgramParams): number;
    getColor(target: Target): ColorInfo;
    protected _draw(numInstances: number, instanceBuffersContainer?: BuffersContainer): void;
    static create(params: PolylineParams, viewIndependentOrigin: Point3d | undefined): PolylineGeometry | undefined;
}
//# sourceMappingURL=Polyline.d.ts.map