/** @packageDocumentation
 * @module WebGL
 */
import { LUTGeometry } from "./CachedGeometry";
import { ColorInfo } from "./ColorInfo";
import { ShaderProgramParams } from "./DrawCommand";
import { FloatRgba } from "./FloatRGBA";
import { Pass } from "./RenderFlags";
import { Target } from "./Target";
import { MeshData } from "./MeshData";
/** Defines one aspect of the geometry of a mesh (surface or edges)
 * @internal
 */
export declare abstract class MeshGeometry extends LUTGeometry {
    readonly mesh: MeshData;
    protected readonly _numIndices: number;
    get asMesh(): this;
    protected _getLineWeight(params: ShaderProgramParams): number;
    get edgeWidth(): number;
    get edgeLineCode(): number;
    get hasFeatures(): boolean;
    get surfaceType(): import("../../../common/internal/render/SurfaceParams").SurfaceType;
    get fillFlags(): import("@itwin/core-common").FillFlags;
    get isPlanar(): boolean;
    get colorInfo(): ColorInfo;
    get uniformColor(): FloatRgba | undefined;
    get texture(): import("./Texture").Texture | undefined;
    get normalMap(): import("./Texture").Texture | undefined;
    get hasBakedLighting(): boolean;
    get lut(): import("./VertexLUT").VertexLUT;
    get hasScalarAnimation(): boolean;
    protected constructor(mesh: MeshData, numIndices: number);
    protected computeEdgeWeight(params: ShaderProgramParams): number;
    protected computeEdgeLineCode(params: ShaderProgramParams): number;
    protected computeEdgeColor(target: Target): ColorInfo;
    protected computeEdgePass(target: Target): Pass;
}
//# sourceMappingURL=MeshGeometry.d.ts.map