import EsriFeatureTemplate from "@arcgis/core/layers/support/FeatureTemplate";
import type { Feature } from "./Feature.js";
export declare namespace Template {
    /**
     * Converts an ArcGIS Portal JSON representation of feature template to its
     * Esri JavaScript API equivalent.
     *
     * @deprecated Use "json/*" modules instead.
     * @param templateJson The feature template JSON to convert.
     */
    function toEsriApiFeatureTemplate(templateJson: Template): EsriFeatureTemplate;
    /**
     * Converts an Esri JavaScript API FeatureTemplate object to its ArcGIS
     * Portal JSON representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param template The FeatureTemplate object to convert.
     */
    function fromEsriApiFeatureTemplate(template: EsriFeatureTemplate): Template;
}
/**
 * Templates describe features that can be created in a layer. Templates are
 * used with map notes, other feature collections, and editable web-based CSV
 * layers. They are not used with ArcGIS feature services, which already have
 * feature templates defined in the service.
 *
 * Templates are defined as a property of the layer definition when there are no
 * types defined; otherwise, templates are defined as properties of the types.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/template/}
 * {@link https://developers.arcgis.com/web-scene-specification/objects/template/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface Template {
    /**
     * A detailed description of the template.
     */
    description?: string;
    /**
     * An optional string that can define a client-side drawing tool to be used
     * with this feature. See the web map specification for more details. See
     * {@link DrawingTool}.
     */
    drawingTool?: DrawingTool;
    /**
     * A string containing a user-friendly name for the template. This name
     * could appear on a menu of feature choices displayed in the client editing
     * environment.
     */
    name?: string;
    /**
     * A feature object representing a prototypical feature for the template.
     */
    prototype?: Feature;
}
/**
 * Possible drawing tool value to use with {@link Template.drawingTool}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export type DrawingTool = "esriFeatureEditToolCircle" | "esriFeatureEditToolDownArrow" | "esriFeatureEditToolEllipse" | "esriFeatureEditToolFreehand" | "esriFeatureEditToolLeftArrow" | "esriFeatureEditToolLine" | "esriFeatureEditToolPoint" | "esriFeatureEditToolPolygon" | "esriFeatureEditToolRectangle" | "esriFeatureEditToolRightArrow" | "esriFeatureEditToolText" | "esriFeatureEditToolTriangle" | "esriFeatureEditToolUpArrow";
