/** @packageDocumentation
 * @module WebGL
 */
import { ViewFlags } from "@itwin/core-common";
import { RenderMemory } from "../../../render/RenderMemory";
import { ShaderProgramParams } from "./DrawCommand";
import { BuffersContainer } from "./AttributeBuffers";
import { MaterialInfo } from "./Material";
import { Pass, RenderOrder } from "./RenderFlags";
import { Target } from "./Target";
import { TechniqueId } from "./TechniqueId";
import { MeshData } from "./MeshData";
import { MeshGeometry } from "./MeshGeometry";
import { LayerTextureParams } from "./MapLayerParams";
import { MeshParams } from "../../../common/internal/render/MeshParams";
/** @internal */
export declare function wantMaterials(vf: ViewFlags): boolean;
/** @internal */
export declare class SurfaceGeometry extends MeshGeometry {
    private readonly _buffers;
    private readonly _indices;
    readonly hasTextures: boolean;
    textureParams: LayerTextureParams | undefined;
    get lutBuffers(): BuffersContainer;
    static create(mesh: MeshData, params: MeshParams): SurfaceGeometry | undefined;
    get isDisposed(): boolean;
    [Symbol.dispose](): void;
    collectStatistics(stats: RenderMemory.Statistics): void;
    get isLit(): boolean;
    get isTexturedType(): boolean;
    get hasTexture(): boolean;
    get hasNormalMap(): boolean;
    get isGlyph(): boolean;
    get alwaysRenderTranslucent(): boolean;
    get isTileSection(): boolean;
    get isClassifier(): boolean;
    get supportsThematicDisplay(): boolean;
    get allowColorOverride(): boolean;
    get asSurface(): this;
    get asEdge(): undefined;
    get asSilhouette(): undefined;
    protected _draw(numInstances: number, instanceBuffersContainer?: BuffersContainer): void;
    wantMixMonochromeColor(target: Target): boolean;
    get techniqueId(): TechniqueId;
    get isLitSurface(): boolean;
    get hasBakedLighting(): boolean;
    get renderOrder(): RenderOrder;
    getColor(target: Target): import("./ColorInfo").ColorInfo;
    getPass(target: Target): Pass;
    protected _wantWoWReversal(target: Target): boolean;
    get materialInfo(): MaterialInfo | undefined;
    useTexture(params: ShaderProgramParams): boolean;
    useNormalMap(params: ShaderProgramParams): boolean;
    computeSurfaceFlags(params: ShaderProgramParams, flags: Int32Array): void;
    private constructor();
    private wantTextures;
    private wantNormalMaps;
}
//# sourceMappingURL=SurfaceGeometry.d.ts.map