declare module '@ember-data/rest/-private/builders/query' {
  import type { QueryParamsSource } from '@warp-drive/core-types/params';
  import type { TypeFromInstance } from '@warp-drive/core-types/record';
  import type { ConstrainedRequestOptions, QueryRequestOptions } from '@warp-drive/core-types/request';
  import type { CollectionResourceDataDocument } from '@warp-drive/core-types/spec/document';
  /**
   * Builds request options to query for resources, usually by a primary
   * type, configured for the url and header expectations of most REST APIs.
   *
   * **Basic Usage**
   *
   * ```ts
   * import { query } from '@ember-data/rest/request';
   *
   * const data = await store.request(query('person'));
   * ```
   *
   * **With Query Params**
   *
   * ```ts
   * import { query } from '@ember-data/rest/request';
   *
   * const options = query('person', { include: ['pets', 'friends'] });
   * const data = await store.request(options);
   * ```
   *
   * **Supplying Options to Modify the Request Behavior**
   *
   * The following options are supported:
   *
   * - `host` - The host to use for the request, defaults to the `host` configured with `setBuildURLConfig`.
   * - `namespace` - The namespace to use for the request, defaults to the `namespace` configured with `setBuildURLConfig`.
   * - `resourcePath` - The resource path to use for the request, defaults to pluralizing and camelCasing the supplied type
   * - `reload` - Whether to forcibly reload the request if it is already in the store, not supplying this
   *      option will delegate to the store's CachePolicy, defaulting to `false` if none is configured.
   * - `backgroundReload` - Whether to reload the request if it is already in the store, but to also resolve the
   *      promise with the cached value, not supplying this option will delegate to the store's CachePolicy,
   *      defaulting to `false` if none is configured.
   * - `urlParamsSettings` - an object containing options for how to serialize the query params (see `buildQueryParams`)
   *
   * ```ts
   * import { query } from '@ember-data/rest/request';
   *
   * const options = query('person', { include: ['pets', 'friends'] }, { reload: true });
   * const data = await store.request(options);
   * ```
   *
   * @method query
   * @public
   * @static
   * @for @ember-data/rest/request
   * @param identifier
   * @param query
   * @param options
   */
  export function query<T>(type: TypeFromInstance<T>, query?: QueryParamsSource, options?: ConstrainedRequestOptions): QueryRequestOptions<T, CollectionResourceDataDocument<T>>;
  export function query(type: string, query?: QueryParamsSource, options?: ConstrainedRequestOptions): QueryRequestOptions;
}
//# sourceMappingURL=query.d.ts.map