/** @packageDocumentation
 * @module WebGL
 */
import { RenderFeatureTable } from "@itwin/core-common";
import { WebGLDisposable } from "./Disposable";
import { UniformHandle } from "./UniformHandle";
import { Target } from "./Target";
import { BatchOptions } from "../../common/render/BatchOptions";
/** @internal */
export type ContoursCleanup = () => void;
/** @internal */
export declare class Contours implements WebGLDisposable {
    readonly target: Target;
    private readonly _options;
    private _contours?;
    private _lut?;
    private _lutWidth;
    private _numFeatures;
    get byteLength(): number;
    matchesTargetAndFeatureCount(target: Target, map: RenderFeatureTable): boolean;
    private matchesSubCategories;
    private _initialize;
    private _update;
    private buildLookupTable;
    private constructor();
    static createFromTarget(target: Target, options: BatchOptions): Contours;
    get isDisposed(): boolean;
    dispose(): undefined;
    initFromMap(map: RenderFeatureTable): void;
    update(features: RenderFeatureTable): void;
    bindContourLUTWidth(uniform: UniformHandle): void;
    bindContourLUT(uniform: UniformHandle): void;
}
//# sourceMappingURL=Contours.d.ts.map