/** * 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