/** @packageDocumentation
 * @module WebGL
 */
import { RenderMemory } from "../RenderMemory";
import { TextureHandle } from "./Texture";
import { BuffersContainer } from "./AttributeBuffers";
import { WebGLDisposable } from "./Disposable";
import { MeshData } from "./MeshData";
import { MeshGeometry } from "./MeshGeometry";
import { TechniqueId } from "./TechniqueId";
import { Target } from "./Target";
import { ShaderProgramParams } from "./DrawCommand";
import { RenderOrder } from "./RenderFlags";
import { EdgeTable, IndexedEdgeParams } from "../../common/internal/render/EdgeParams";
/** @see [[EdgeTable]]
 * @internal
 */
export declare class EdgeLUT implements WebGLDisposable {
    readonly texture: TextureHandle;
    readonly numSegments: number;
    readonly silhouettePadding: number;
    private constructor();
    dispose(): void;
    static create(table: EdgeTable): EdgeLUT | undefined;
    get bytesUsed(): number;
    get isDisposed(): boolean;
}
/** @see [[IndexedEdgeParams]]
 * @internal
 */
export declare class IndexedEdgeGeometry extends MeshGeometry {
    private readonly _buffers;
    private readonly _indices;
    readonly edgeLut: EdgeLUT;
    get lutBuffers(): BuffersContainer;
    get asIndexedEdge(): this;
    private constructor();
    dispose(): void;
    get isDisposed(): boolean;
    static create(mesh: MeshData, params: IndexedEdgeParams): IndexedEdgeGeometry | undefined;
    collectStatistics(stats: RenderMemory.Statistics): void;
    protected _draw(numInstances: number, instances?: BuffersContainer): void;
    protected _wantWoWReversal(): boolean;
    protected _getLineCode(params: ShaderProgramParams): number;
    get techniqueId(): TechniqueId;
    getPass(target: Target): import("./RenderFlags").Pass;
    get renderOrder(): RenderOrder.Edge | RenderOrder.PlanarEdge;
    getColor(target: Target): import("./ColorInfo").ColorInfo;
    wantMonochrome(target: Target): boolean;
}
//# sourceMappingURL=IndexedEdgeGeometry.d.ts.map