import type SpatialReference from "@arcgis/core/geometry/SpatialReference";
import type { FeatureSource } from "../../data/FeatureSource.js";
import type { CancelToken } from "../../support/Cancellable.js";
import type { TaskResult } from "../TaskResult.js";
/**
 * Options that can be passed into
 * {@link tasks/identify/IdentifyService!IdentifyService.identify}.
 */
export interface IdentifyOptions {
    /**
     * An optional cancel token from a {@link support/Cancellable!Cancellable}
     * that can be used to cancel the search.
     */
    cancelToken?: CancelToken;
    /**
     * Whether geometry for features should be returned.
     */
    returnGeometry?: boolean;
    /**
     * List of fields that should be returned that overrides the default out
     * fields.
     */
    outFields?: string[];
    /**
     * The spatial reference for the returned geometry.
     */
    outSpatialReference?: SpatialReference;
    /**
     * The maximum allowable offset used for generalizing geometries returned by
     * the query operation.
     */
    maxAllowableOffset?: number;
    /**
     * The maximum number of results to return.
     */
    maxResults?: number;
    /**
     * An optional callback that will be invoked with additional information
     * about the tasks's result for each source.
     */
    onSourceComplete?: (result: TaskResult) => void;
    /**
     * The distance in meters to buffer any geometries used in 2D identify
     * operations.
     */
    tolerance?: number;
}
export declare namespace IdentifyOptions {
    /**
     * Default values for {@link IdentifyOptions}.
     */
    const DEFAULTS: IdentifyOptions;
    /**
     * Gets default identify options configured in a
     * {@link data/FeatureSource!FeatureSource}.
     *
     * @param source The feature source.
     */
    function fromFeatureSource(source: FeatureSource): IdentifyOptions;
}
