/** @packageDocumentation
 * @module WebGL
 */
import { RenderMemory } from "../../../render/RenderMemory";
import { Graphic } from "./Graphic";
import { RenderCommands } from "./RenderCommands";
import { RenderPass } from "./RenderFlags";
import { Target } from "./Target";
import { Range3d } from "@itwin/core-geometry";
declare abstract class GraphicWrapper extends Graphic {
    readonly graphic: Graphic;
    protected constructor(graphic: Graphic);
    dispose(): void;
    get isDisposed(): boolean;
    get isPickable(): boolean;
    collectStatistics(stats: RenderMemory.Statistics): void;
    unionRange(range: Range3d): void;
}
/** Within a single tile, contains graphics belonging to a single layer.
 * The same layer may appear in multiple tiles, both within the same tile tree and in other tile trees.
 * Within a single tile tree, all Layers are contained within the same LayerContainer.
 * @internal
 */
export declare class Layer extends GraphicWrapper {
    readonly layerId: string;
    private readonly _idLo;
    private readonly _idHi;
    constructor(graphic: Graphic, layerId: string);
    getPriority(target: Target): number;
    addCommands(commands: RenderCommands): void;
    addHiliteCommands(commands: RenderCommands, pass: RenderPass): void;
}
/** Contains a GraphicBranch that can contain Layers, for a single model / tile-tree.
 * All geometry within the container has the same Z.
 * @internal
 */
export declare class LayerContainer extends GraphicWrapper {
    readonly renderPass: RenderPass;
    readonly elevation: number;
    constructor(graphic: Graphic, drawAsOverlay: boolean, transparency: number, elevation: number);
    addCommands(commands: RenderCommands): void;
    addHiliteCommands(commands: RenderCommands, pass: RenderPass): void;
}
export {};
//# sourceMappingURL=Layer.d.ts.map