import type { MutationObserverOptions, QueryObserverOptions } from '@tanstack/query-core'; import { harmonyApi } from '../apis/harmony.api.js'; import type { SearchOptions, SubsetJobStatus } from '../apis/harmony.api.js'; import type { HarmonyRequest } from '../lib/harmony/harmony.request.js'; import type { RequestOptions } from '../lib/api.client.js'; export declare function queryHarmonyCapabilities(collectionConceptId?: string, options?: RequestOptions): QueryObserverOptions> | null>; /** * Query options factory for getting a user's Harmony jobs * If page 1 (or no page) is specific, and there are jobs that are not in a final state, * the query will refetch the first page of jobs every POLL_INTERVAL_MS milliseconds. * * @example * const queryController = new QueryController( * host, * () => queryHarmonyJobs({ page: 1, limit: 10, label: 'cloud-giovanni-ui' }, { bearerToken }) * ) */ export declare function queryHarmonyJobs(params?: Parameters[0], options?: Parameters[1]): QueryObserverOptions>>; /** * Query options factory for polling the status of a Harmony subset job. * Automatically stops polling once the job reaches a final state. * * @example * const queryController = new QueryController( * host, * () => queryHarmonyJobStatus(this.currentJob?.jobID, { bearerToken }) * ) */ export declare function queryHarmonyJobStatus(jobID?: string | null, options?: SearchOptions): QueryObserverOptions; /** * Mutation options for creating a Harmony subset job via REST API. * Intended for use with MutationController. * * @example * const mutation = new MutationController(host, queryCreateHarmonySubsetJob()) * // later: * const job = await mutation.mutate({ harmonyRequest, options: { bearerToken } }) */ export type CreateHarmonyJobVariables = { harmonyRequest: HarmonyRequest; options?: SearchOptions; }; export declare function queryCreateHarmonySubsetJob(): MutationObserverOptions; export type CancelHarmonyJobVariables = { jobId: string; options?: SearchOptions; }; export declare function queryCancelHarmonySubsetJob(): MutationObserverOptions; /** * Mutation options for removing labels from one or more Harmony jobs. * Used when `removeLabelsOnDelete` is set on terra-harmony-history — after removal * the jobs will no longer match the active label filter and disappear from the list. * * @example * const mutation = new MutationController(host, mutationRemoveHarmonyJobLabels()) * // later: * await mutation.mutate({ jobIDs: ['abc'], labels: ['my-label'], options: { bearerToken } }) */ export type RemoveHarmonyJobLabelsVariables = { jobIDs: string[]; labels: string[]; options?: SearchOptions; }; export declare function mutationRemoveHarmonyJobLabels(): MutationObserverOptions;