import { IActivityHandler, Deferrable } from "../../IActivityHandler";
/** Defines inputs for the Cut activity. This activity relies on the geometry engine. */
export interface CutEngineTaskInputs {
    /** The geometry (a Polyline or Polygon) to be cut. */
    geometry: __esri.Geometry;
    /** The polyline which cuts the geometry. */
    cutter: __esri.Polyline;
}
/** Defines outputs for the Cut activity. */
export interface CutEngineTaskOutputs {
    /** An array with zero, one, two, or three entries. For Polylines, all left cuts are grouped together in the first Geometry. Right cuts and coincident cuts are grouped in the second Geometry and each undefined cut, along with any uncut parts, are output as separate Polylines. For Polygons, all left cuts are grouped in the first Polygon, all right cuts are grouped in the second Polygon, and each undefined cut, along with any left-over parts after cutting, are output as a separate Polygon. If no cuts are returned then the array will be empty. An undefined cut will only be produced if a left cut or right cut was produced and there was a part left over after cutting, or a cut is bounded to the left and right of the cutter. */
    geometry: __esri.Geometry[];
}
export declare class CutEngineTask implements IActivityHandler {
    static action: string;
    static suite: string;
    execute(inputs: CutEngineTaskInputs): Deferrable<CutEngineTaskOutputs>;
}
