import { IActivityHandler, IActivityContext, Deferrable } from "../../IActivityHandler";
import { MapProvider } from "./MapProvider";
import { Lookup } from "../../Collections";
/** Defines the inputs for the RelationshipQueryTask activity. */
export interface RelationshipQueryTaskInputs {
    /** The URL to the ArcGIS layer or table to query. Either url or layer is required. */
    url?: string;
    /** The ArcGIS layer or table to query. Either url or layer is required. */
    layer?: __esri.Layer;
    /** Object IDs to query for. */
    objectIds: number | number[];
    /** The ID of the relationship to be queried. The relationships that this layer or table participates in are included in the Layer / Table Resource response. Records in tables / layers corresponding to the related table / layer of the relationship are queried. */
    relationshipId: number;
    outFields?: string | string[];
    /** The spatial reference for the returned geometry. If not specified, the geometry is returned in the spacial reference of the map. */
    outSpatialReference?: number | string | __esri.SpatialReference;
    /** If true, each feature in the FeatureSet includes the geometry. Set to false (default) if you do not plan to include highlighted features on a map since the geometry takes up a significant portion of the response. */
    returnGeometry?: boolean;
    /** The version of the geodatabase on which the query will be performed. This property applies to feature services. Requires ArcGIS Server 10.0+. */
    gdbVersion?: string;
    /** The definition expression to be applied to the related layer or table. From the list of records that are related to the specified objectIds, only those records that conform to this expression will be returned. For example: POP2000 > 100000 */
    definitionExpression?: string;
    /** Specify the number of decimal places for the geometries returned by the query operation. */
    geometryPrecision?: number;
    /** The maximum allowable offset to be used for generalizing geometries returned by the query operation. The offset is in the units of spatialReference. If spatialReference is not defined, the spatial reference of the map is used. Requires ArcGIS Server 10+. */
    maxAllowableOffset?: number;
}
/** Defines the outputs for the RelationshipQueryTask activity. */
export interface RelationshipQueryTaskOutputs {
    /** The relationship query result returned by the query operation. */
    results: Lookup<__esri.FeatureSet>;
}
/** Performs an ArcGIS Server relationship query. */
export declare class RelationshipQueryTask implements IActivityHandler {
    static action: string;
    static suite: string;
    execute(inputs: RelationshipQueryTaskInputs, context: IActivityContext, type: typeof MapProvider): Deferrable<RelationshipQueryTaskOutputs>;
}
