/** @packageDocumentation
 * @module WebGL
 */
import { ClipVector, Matrix4d } from "@itwin/core-geometry";
import { ClipStyle, HiddenLine, ViewFlags } from "@itwin/core-common";
import { FeatureSymbology } from "../FeatureSymbology";
import { BranchState } from "./BranchState";
import { BranchStack } from "./BranchStack";
import { BatchState } from "./BatchState";
import { CachedGeometry } from "./CachedGeometry";
import { Branch } from "./Graphic";
import { UniformHandle } from "./UniformHandle";
import { RenderCommands } from "./RenderCommands";
import { SyncToken } from "./Sync";
import { Target } from "./Target";
import { ClipStack } from "./ClipStack";
/** Maintains uniform variable state associated with the Branch currently being drawn by a Target.
 * @internal
 */
export declare class BranchUniforms {
    readonly clipStack: ClipStack;
    private _viewClipEnabled;
    syncToken?: SyncToken;
    syncKey: number;
    private readonly _stack;
    private readonly _target;
    private _isInstanced;
    private _viewIndependentOrigin?;
    private readonly _mv;
    private readonly _mvp;
    private readonly _mv32;
    private readonly _mvp32;
    private readonly _m32;
    private readonly _v32;
    private readonly _scratchTransform;
    private readonly _scratchTransform2;
    private readonly _scratchViewToWorld;
    private readonly _scratchVIModelMatrix;
    private readonly _zeroPoint;
    get stack(): BranchStack;
    constructor(target: Target);
    createBatchState(): BatchState;
    createRenderCommands(batchState: BatchState): RenderCommands;
    get modelViewMatrix(): Matrix4d;
    get top(): BranchState;
    get length(): number;
    pushBranch(branch: Branch): void;
    pushState(state: BranchState): void;
    pop(): void;
    pushViewClip(): void;
    popViewClip(): void;
    changeRenderPlan(vf: ViewFlags, is3d: boolean, hline: HiddenLine.Settings | undefined): void;
    updateViewClip(clip: ClipVector | undefined, style: ClipStyle): void;
    overrideFeatureSymbology(ovr: FeatureSymbology.Overrides): void;
    bindModelViewMatrix(uniform: UniformHandle, geom: CachedGeometry, isViewCoords: boolean): void;
    bindModelViewProjectionMatrix(uniform: UniformHandle, geom: CachedGeometry, isViewCoords: boolean): void;
    bindModelToWorldTransform(uniform: UniformHandle, geom: CachedGeometry, isViewCoords: boolean): void;
    bindWorldToViewNTransform(uniform: UniformHandle, geom: CachedGeometry, isViewCoords: boolean): void;
    private update;
    private setClipStyle;
}
//# sourceMappingURL=BranchUniforms.d.ts.map