import { IActivityHandler, IActivityContext } from "../../IActivityHandler";
import { MapProvider } from "./MapProvider";
/** Defines inputs for the Project activity. */
export interface ProjectServiceTaskInputs {
    /** The URL of the ArcGIS geometry service. If a url is not specified, the ArcGIS API will be used if possible. If that is not possible, the geometry service at https://utility.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer will be used */
    url: string;
    /** The input geometries to project. */
    geometry: __esri.Geometry | __esri.Geometry[];
    /** The spatial reference to which you are projecting the geometries. */
    outSpatialReference?: string | number | __esri.SpatialReference;
    /** The well-known id {wkid:number} or well-known text {wkt:string} of the datum transformation to be applied to the projected geometries. A list of valid IDs can be viewed at https://developers.arcgis.com/rest/services-reference/datum-transformations.htm. */
    transformation?: string | number | {};
    /** Indicates whether to transform forward or not. The forward or reverse direction of transformation is implied in the name of the transformation. */
    reverse?: boolean;
}
/** Defines outputs for the Project Geometry activity. */
export interface ProjectServiceTaskOutputs {
    /** Indicates the first result geometry. */
    geometry?: __esri.Geometry;
    /** Indicates all the result geometries. */
    results?: __esri.Geometry[];
}
export declare class ProjectServiceTask implements IActivityHandler {
    static action: string;
    static suite: string;
    execute(inputs: ProjectServiceTaskInputs, context: IActivityContext, type: typeof MapProvider): Promise<ProjectServiceTaskOutputs>;
}
