import { IActivityHandler, IActivityContext, Deferrable } from "../../IActivityHandler";
import { Lookup } from "../../Collections";
import { MapProvider } from "./MapProvider";
/** Defines inputs to the Synchronous Geoprocessor task. This task is suitable for geoprocessing services with a synchronous execution type. */
export interface GeoprocessingInputs {
    /** The URL of the ArcGIS Server Geoprocessing service task. */
    url: string;
    /** The input arguments accepted by the task. */
    arguments: Lookup<any>;
    /** The spatial reference of the output geometries. If this is not specified, the output geometries are in the spatial reference of the input geometries. If processSpatialReference is specified and outputSpatialReference is not specified, the output geometries' spatial reference is processSpatialReference. */
    outSpatialReference?: number | string | __esri.SpatialReference;
    /** The spatial reference that the model uses to perform geometry operations. If processSpatialReference is specified while outputSpatialReference is not, the output geometries' spatial reference is processSpatialReference.  */
    processSpatialReference?: number | string | __esri.SpatialReference;
}
/** Defines outputs to the Geoprocessor activity. */
export interface GeoprocessingOutputs {
    /** The messages from the geoprocessing job. */
    messages: __esri.GPMessage[];
    /** The results of the geoprocessing job. */
    results: Lookup<any>;
}
export declare class Geoprocessing implements IActivityHandler {
    static action: string;
    static suite: string;
    execute(inputs: GeoprocessingInputs, context: IActivityContext, type: typeof MapProvider): Deferrable<GeoprocessingOutputs>;
}
