import { FeatureGeometryBaseRenderer, FeatureGeometryRenderer, FeatureSymbolizedRenderer } from "../../../../tile/internal";
import { Viewport } from "../../../../Viewport";
import { GraphicPrimitive } from "../../../../common/render/GraphicPrimitive";
/**
 * Properties of [[GraphicsGeometryRenderer]]
 */
export interface FeatureGraphicsRendererProps {
    /** The viewport in which the resultant [GraphicPrimitive]($frontend) is to be drawn. */
    viewport: Viewport;
    /** Coordinate reference system of input data */
    crs: "webMercator" | "wgs84";
}
/** @internal */
export interface GraphicsGeometryRenderer extends FeatureGeometryRenderer {
    moveGraphics(): GraphicPrimitive[];
}
/** Feature geometry renderer implementation that will "render" a list of [GraphicPrimitive]($frontend)
 * This renderer initial objective is to read geometries when a call to [[MapLayerImageryProvider.getFeatureInfo]] is performed.
 * @internal
 */
export declare class FeatureGraphicsRenderer extends FeatureGeometryBaseRenderer implements GraphicsGeometryRenderer {
    hasSymbologyRenderer(): this is FeatureSymbolizedRenderer;
    private _scratchPointsArray;
    private _scratchPaths;
    private _graphics;
    private _viewport;
    private _crs;
    constructor(props: FeatureGraphicsRendererProps);
    moveGraphics(): GraphicPrimitive[];
    protected beginPath(): void;
    protected closePath(): void;
    protected lineTo(x: number, y: number): Promise<void>;
    protected moveTo(x: number, y: number): Promise<void>;
    protected fill(): Promise<void>;
    protected stroke(): Promise<void>;
    protected drawPoint(x: number, y: number): void;
    protected finishPoints(): Promise<void>;
    private toSpatial;
}
//# sourceMappingURL=FeatureGraphicsRenderer.d.ts.map