import { Query, QueryBundleRequest } from '@sage-bionetworks/synapse-types';
/**
 * Updates the url with the components' new search params. Stores only the
 * differences between currentQuery and initQuery, compressed with gzip and base64-encoded.
 * If the queries are equal, the search param will be removed.
 * @param componentName
 * @param componentIndex
 * @param currentQuery - The current query state, or null to remove the param
 * @param initQuery - The initial query state to compute diff against
 */
export declare function updateUrlWithNewSearchParam(componentName: string, componentIndex: number | undefined, currentQuery: Query | null, initQuery: Query | null): Promise<void>;
/**
 * Retrieves a query request from the URL by applying the stored diff to the initial query.
 * @param componentIndex
 * @param initQuery - The initial query to apply the diff to
 * @returns A partial QueryBundleRequest with the reconstructed query, or undefined if no diff is stored
 */
export declare function getQueryRequestFromLink(componentIndex: number, initQuery: Query): Promise<Partial<QueryBundleRequest> | undefined>;
/**
 * Generates a URL with a compressed query diff parameter.
 * @param path - The base path for the URL
 * @param componentIndex - The component index (e.g., 0)
 * @param currentQuery - The query to encode
 * @param initQuery - The initial/default query to compute the diff against
 * @returns A Promise that resolves to the full URL with compressed query parameter
 */
export declare function generateCompressedQueryURL(path: string, componentIndex: number, currentQuery: Query, initQuery: Query): Promise<string>;
//# sourceMappingURL=deepLinkingUtils.d.ts.map