/** @packageDocumentation
 * @module WebGL
 */
import { PointCloudDisplaySettings, RealityModelDisplaySettings } from "@itwin/core-common";
import { UniformHandle } from "./UniformHandle";
import { Range3d, Transform } from "@itwin/core-geometry";
import { Target } from "./Target";
/** A Target keeps track of the current settings for drawing point clouds.
 * Pushing a Branch may *replace* the current settings. Popping the Branch does not reset them. It is expected that every Branch containing
 * a point cloud will also specify the settings for drawing that point cloud.
 * This permits the same point cloud graphics to be rendered differently in different viewports.
 * In future these uniforms will include eye-dome lighting.
 * @internal
 */
export declare class PointCloudUniforms {
    syncKey: number;
    private _settings;
    private _scaleFactor;
    private _is3d;
    private readonly _vec4;
    private readonly _edl1;
    private readonly _edl2;
    constructor();
    update(settings: PointCloudDisplaySettings): void;
    updateRange(range: Range3d | undefined, target: Target, xform: Transform, is3d: boolean): void;
    bind(uniform: UniformHandle): void;
    bindEDL1(uniform: UniformHandle): void;
    bindEDL2(uniform: UniformHandle): void;
    private initialize;
}
/** Uniforms affecting how reality models are drawn.
 * Pushing a Branch may *replace* the current settings. Popping the Branch does not reset them. It is expected that every Branch containing
 * a reality model will also specify the settings for drawing that reality model.
 * This permits the same reality model graphics to be rendered differently in different viewports.
 * In future these uniforms may include additional settings for reality meshes - currently only the override color ratio applies to them.
 * @internal
 */
export declare class RealityModelUniforms {
    readonly pointCloud: PointCloudUniforms;
    private _overrideColorMix;
    update(settings: RealityModelDisplaySettings): void;
    bindOverrideColorMix(uniform: UniformHandle): void;
}
//# sourceMappingURL=RealityModelUniforms.d.ts.map