/**
* React Query Hook for Getting Signed URLs
* Provides caching and state management for signed URL generation
*/
import type { GetSignedUrlRequest, GetSignedUrlResponse, ServiceOptions, QueryKey, UseQueryResult, ApiQueryOptions } from '@plyaz/types/api';
import type { ErrorResponse } from '@plyaz/types/errors';
import type { EndpointsList } from '@/api/endpoints';
/**
* Hook for getting signed URLs
*
* Note: Signed URLs expire, so consider short staleTime values
* or refetch on window focus for security-sensitive scenarios.
*
* @param queryKey - React Query cache key
* @param request - Request with file ID and optional expiration
* @param serviceOptions - Optional service options (apiClient override, apiConfig override)
* @param queryOptions - Optional React Query options (enabled, staleTime, etc.)
* @returns React Query result with signed URL data
*
* @example
* ```typescript
* function FileLink({ fileId }: Props) {
* const { data, isLoading } = useGetSignedUrl(
* ['signedUrl', fileId],
* { id: fileId, query: { expiresIn: 300 } }, // 5 minutes
* undefined,
* {
* enabled: !!fileId,
* staleTime: 4 * 60 * 1000, // Refetch 1 minute before expiry
* }
* );
*
* if (isLoading) return ;
*
* return Download File;
* }
* ```
*/
export declare function useGetSignedUrl(queryKey: QueryKey, request: GetSignedUrlRequest, serviceOptions?: ServiceOptions, queryOptions?: Omit, 'apiClient' | 'apiConfig'>): UseQueryResult;
//# sourceMappingURL=useGetSignedUrl.d.ts.map