import { KeyFactory } from '@/synapse-queries';
import { LockedColumn } from '@/utils/types/LockedColumn';
import { SynapseClientError } from '@sage-bionetworks/synapse-client';
import { AsynchronousJobStatus, QueryBundleRequest, QueryResultBundle, RowSet } from '@sage-bionetworks/synapse-types';
import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseSuspenseQueryOptions } from '@tanstack/react-query';
export type TableQueryUseQueryOptions = {
    rowDataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, RowSet | undefined>;
    rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>>, QueryKey, string | number | undefined>;
    queryMetadataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, Omit<QueryResultBundle, 'queryResult'>>;
};
export declare function getTableQueryUseQueryOptions(queryBundleRequest: QueryBundleRequest, lockedColumn: LockedColumn | undefined, keyFactory: KeyFactory, accessToken: string | undefined): {
    rowDataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, RowSet | undefined, readonly unknown[]>;
    rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, unknown>, readonly unknown[], string | number | undefined>;
    queryMetadataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, Omit<QueryResultBundle, "queryResult">, readonly unknown[]>;
};
/**
 * Return the UseQueryOptions used to retrieve a table query's row data and query metadata.
 * @param queryBundleRequest
 * @param lockedColumn - remove a particular facet name (e.g. study) and all possible values based on the parameter
 * specified in the url this is to remove the facet from the charts, search and filter.
 */
export declare function useTableQueryUseQueryOptions(queryBundleRequest: QueryBundleRequest, lockedColumn?: LockedColumn): TableQueryUseQueryOptions;
//# sourceMappingURL=TableQueryUseQueryOptions.d.ts.map