/** @packageDocumentation
 * @module Rendering
 */
import { FillFlags, RenderMaterial, RenderTexture } from "@itwin/core-common";
import { VertexIndices } from "./VertexIndices";
/** @internal */
export declare enum SurfaceType {
    Unlit = 0,
    Lit = 1,
    Textured = 2,
    TexturedLit = 3,
    VolumeClassifier = 4
}
/** @internal */
export declare function isValidSurfaceType(value: number): boolean;
/** @internal */
export interface SurfaceRenderMaterial {
    readonly isAtlas: false;
    readonly material: RenderMaterial;
}
/** @internal */
export interface SurfaceMaterialAtlas {
    readonly isAtlas: true;
    readonly hasTranslucency: boolean;
    readonly overridesAlpha: boolean;
    readonly vertexTableOffset: number;
    readonly numMaterials: number;
}
/** @internal */
export type SurfaceMaterial = SurfaceRenderMaterial | SurfaceMaterialAtlas;
/** @internal */
export declare function createSurfaceMaterial(source: RenderMaterial | undefined): SurfaceMaterial | undefined;
/** @internal */
export interface SurfaceParams {
    readonly type: SurfaceType;
    readonly indices: VertexIndices;
    readonly fillFlags: FillFlags;
    readonly hasBakedLighting: boolean;
    readonly textureMapping?: {
        texture: RenderTexture;
        alwaysDisplayed: boolean;
    };
    readonly material?: SurfaceMaterial;
}
//# sourceMappingURL=SurfaceParams.d.ts.map