import type SpatialReference from "@arcgis/core/geometry/SpatialReference";
import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
import type { FeatureSource } from "../../data/FeatureSource.js";
import type { CancelToken } from "../../support/Cancellable.js";
/**
 * Options that can be passed into
 * {@link tasks/query/QueryService!QueryService.query}.
 */
export interface QueryOptions {
    /**
     * An optional cancel token from a {@link support/Cancellable!Cancellable}
     * that can be used to cancel the query.
     */
    cancelToken?: CancelToken;
    /**
     * Spatial filter used to filter search results. If specified, results are
     * limited to features that intersect the geometry.
     */
    spatialFilter?: GeometryUnion | undefined;
    /**
     * Whether geometry for features should be returned.
     */
    returnGeometry?: boolean;
    /**
     * Fields that should be returned for each feature.
     */
    outFields?: string[];
    /**
     * The spatial reference for the returned geometry.
     */
    outSpatialReference?: SpatialReference | undefined;
    /**
     * The maximum allowable offset used for generalizing geometries returned by
     * the query operation.
     */
    maxAllowableOffset?: number;
    /**
     * The maximum number of results to return.
     */
    maxResults?: number;
}
export declare namespace QueryOptions {
    /**
     * Default values for {@link QueryOptions}.
     */
    const DEFAULTS: QueryOptions;
    /**
     * Gets default search options configured in a
     * {@link data/FeatureSource!FeatureSource}.
     *
     * @param source The feature source.
     */
    function fromFeatureSource(source: FeatureSource): QueryOptions;
}
