/** @packageDocumentation
 * @module Rendering
 */
import { Range3dProps, XYAndZ } from "@itwin/core-geometry";
import { ImdlModel } from "../../imdl/ImdlModel";
import { GraphicDescription, GraphicDescriptionBuilder, GraphicDescriptionBuilderOptions } from "../../render/GraphicDescriptionBuilder";
import { GraphicType } from "../../render/GraphicType";
import { GraphicAssembler } from "../../render/GraphicAssembler";
import { Gradient } from "@itwin/core-common";
import { BatchOptions } from "../../render/BatchOptions";
import { Id64String } from "@itwin/core-bentley";
import { _implementationProhibited } from "../Symbols";
import { GraphicDescriptionContext } from "../../render/GraphicDescriptionContext";
export type BatchDescription = Omit<BatchOptions, "tileId"> & {
    featureTable: ImdlModel.FeatureTable;
    range: Range3dProps;
    isVolumeClassifier?: boolean;
    modelId: Id64String;
};
export interface GraphicDescriptionImpl extends GraphicDescription {
    type: GraphicType;
    primitives: ImdlModel.Primitive[];
    translation?: XYAndZ;
    batch?: BatchDescription;
    /** Initialized the first time createGraphicFromDescription remaps the description in-place using a GraphicDescriptionContext.
     * Subsequently attempting to remap using same context should be a no-op.
     * Attempting to remap using a different context is an error.
     */
    remapContext?: GraphicDescriptionContext;
}
export declare class GraphicDescriptionBuilderImpl extends GraphicAssembler implements GraphicDescriptionBuilder {
    readonly [_implementationProhibited]: undefined;
    private readonly _computeChordTolerance;
    private readonly _context;
    private readonly _viewIndependentOrigin?;
    constructor(options: GraphicDescriptionBuilderOptions);
    finish(): GraphicDescriptionImpl;
    private createPrimitive;
    private createMeshPrimitive;
    private createPolylinePrimitive;
    private createPointStringPrimitive;
    protected resolveGradient(gradient: Gradient.Symb): import("@itwin/core-common").RenderTexture;
}
export declare function isGraphicDescription(description: GraphicDescription): description is GraphicDescriptionImpl;
export declare function collectGraphicDescriptionTransferables(xfers: Set<Transferable>, description: GraphicDescription): void;
//# sourceMappingURL=GraphicDescriptionBuilderImpl.d.ts.map