/** @packageDocumentation
 * @module WebGL
 */
import { HiddenLine, RenderMode, ViewFlags } from "@itwin/core-common";
import { FloatRgba } from "./FloatRGBA";
import { RenderPass } from "./RenderFlags";
import { OvrFlags } from "../../common/internal/render/OvrFlags";
/** Controls symbology of edges based on ViewFlags and HiddenLine.Settings. Typically these come from the Target's
 * RenderPlan, but a GraphicBranch may override those settings.
 * @internal
 */
export declare class EdgeSettings {
    /** The color applies to both hidden and visible edges. */
    private readonly _color;
    private _colorOverridden;
    private _visibleLineCode?;
    private _visibleWeight?;
    private _hiddenLineCode?;
    private _hiddenWeight?;
    /** Controls how opaque a surface must be to be displayed in SolidFill or HiddenLine modes; or how opaque it must be to
     * block shadow-casting lights in SmoothShade mode.
     */
    private _transparencyThreshold;
    static create(hline: HiddenLine.Settings | undefined): EdgeSettings;
    init(hline: HiddenLine.Settings | undefined): void;
    computeOvrFlags(pass: RenderPass, vf: ViewFlags): OvrFlags;
    get transparencyThreshold(): number;
    getColor(vf: ViewFlags): FloatRgba | undefined;
    getLineCode(pass: RenderPass, vf: ViewFlags): number | undefined;
    getWeight(pass: RenderPass, vf: ViewFlags): number | undefined;
    private clear;
    wantContrastingColor(renderMode: RenderMode): boolean;
    private isOverridden;
}
//# sourceMappingURL=EdgeSettings.d.ts.map