/** @packageDocumentation
 * @module Rendering
 */
import { Gradient, RenderTexture } from "@itwin/core-common";
import { CustomGraphicBuilderOptions, GraphicBuilder, ViewportGraphicBuilderOptions } from "../../render/GraphicBuilder";
import { RenderGraphic } from "../../render/RenderGraphic";
import { RenderSystem } from "../../render/RenderSystem";
import { GeometryOptions } from "../../common/internal/render/Primitives";
import { GeometryAccumulator } from "../../common/internal/render/GeometryAccumulator";
import { MeshList } from "../../common/internal/render/MeshPrimitives";
import { _implementationProhibited } from "../../common/internal/Symbols";
import { GraphicTemplate } from "../../render/GraphicTemplate";
/** @internal */
export declare class PrimitiveBuilder extends GraphicBuilder {
    readonly [_implementationProhibited]: undefined;
    readonly system: RenderSystem;
    primitives: RenderGraphic[];
    private readonly _options;
    private readonly _viewIndependentOrigin?;
    constructor(system: RenderSystem, options: ViewportGraphicBuilderOptions | CustomGraphicBuilderOptions);
    finish(): RenderGraphic;
    finishTemplate(): GraphicTemplate;
    private toTemplate;
    computeTolerance(accum: GeometryAccumulator): number;
    protected resolveGradient(gradient: Gradient.Symb): RenderTexture | undefined;
    /**
     * Populate a list of Graphic objects from the accumulated Geometry objects.
     * removed ViewContext
     */
    saveToGraphicList(graphics: RenderGraphic[], options: GeometryOptions, tolerance: number, pickable: {
        isVolumeClassifier?: boolean;
        modelId?: string;
    } | undefined): MeshList | undefined;
    private saveToTemplate;
}
//# sourceMappingURL=PrimitiveBuilder.d.ts.map