import { QueryClient } from '@tanstack/react-query'; export declare const STORAGE_CUSTOMER_QUERY_KEY: readonly ["athena", "storage", "customer"]; export declare const STORAGE_LIST_CONVERGENCE_MS = 1500; export declare function scheduleCustomerStorageConvergence(queryClient: QueryClient): void; export interface CustomerStorageUploadProgress { aggregateLoaded: number; aggregatePercent: number; aggregateTotal: number; fileCount: number; fileIndex: number; fileName: string; loaded: number; multipart?: { partCount: number; partNumber: number; uploadId: string; }; percent: number; phase: "preparing" | "uploading" | "complete"; total: number; } export interface CustomerStorageFilePort { delete?: (input: unknown) => Promise; get?: (input: unknown) => Promise; list?: (input?: unknown) => Promise; move?: (input: unknown) => Promise; rename?: (input: unknown) => Promise; upload?: (input: unknown, options?: { signal?: AbortSignal; }) => Promise; } export interface CustomerStorageFolderPort { create?: (input: unknown) => Promise; delete?: (input: unknown) => Promise; move?: (input: unknown) => Promise; rename?: (input: unknown) => Promise; } export interface CustomerStorageCapabilities { bucket?: string; objects?: boolean; provider?: string; } export interface CustomerStorageApi { capabilities?: CustomerStorageCapabilities; file?: CustomerStorageFilePort; folder?: CustomerStorageFolderPort; object?: { folder?: CustomerStorageFolderPort; }; } export interface UploadStorageObjectsInput { files: readonly File[]; onProgress?: (progress: CustomerStorageUploadProgress) => void; prefix?: string; signal?: AbortSignal; } export interface UploadStorageObjectsResult { uploaded: string[]; } export declare function uploadedKeysFromError(error: unknown): string[]; export declare function useCustomerStorageApi(): CustomerStorageApi | null; export declare function snapshotSelectedFiles(list: FileList | null | undefined): File[]; export declare function useStoragePublicSummary(options?: { enabled?: boolean; }): import('../../../lib/query/tanstack.js').AthenaQueryResult<{ authRuntime?: undefined; bucket?: undefined; transport?: undefined; } | { authRuntime: string | undefined; bucket: string | undefined; transport: string | undefined; }, Error>; export declare function useStorageObjects(options?: { enabled?: boolean; prefix?: string; }): import('../../../lib/query/tanstack.js').AthenaQueryResult & { available: boolean; complete: boolean; objects: import('./customer-storage-objects.js').CustomerStorageObject[]; prefix: string; stopReason: import('./customer-storage-objects.js').StorageListStopReason | undefined; usage: import('./customer-storage-objects.js').CustomerStorageUsage; }; export declare function useStorageUsage(options?: { enabled?: boolean; }): import('../../../lib/query/tanstack.js').AthenaQueryResult & { available: boolean; complete: boolean; objects: import('./customer-storage-objects.js').CustomerStorageObject[]; prefix: string; stopReason: import('./customer-storage-objects.js').StorageListStopReason | undefined; usage: import('./customer-storage-objects.js').CustomerStorageUsage; }; export declare function uploadStorageFiles(put: (input: unknown, options?: { signal?: AbortSignal; }) => Promise, input: UploadStorageObjectsInput): Promise; export declare function useUploadStorageObject(): import('../../../lib/query/tanstack.js').AthenaMutationResult & { available: boolean; }; export declare function useCreateStorageFolder(): import('../../../lib/query/tanstack.js').AthenaMutationResult & { available: boolean; }; export declare function useRenameStorageObject(): import('../../../lib/query/tanstack.js').AthenaMutationResult & { available: boolean; }; export declare function useMoveStorageObjects(): import('../../../lib/query/tanstack.js').AthenaMutationResult<{ moved: number; }, Error, { destinationPrefix: string; entries: readonly { key: string; kind: "file" | "folder"; to: string; }[]; }, unknown> & { available: boolean; }; export declare function useDeleteStorageFolder(): import('../../../lib/query/tanstack.js').AthenaMutationResult & { available: boolean; }; export declare function useDeleteStorageObject(): import('../../../lib/query/tanstack.js').AthenaMutationResult & { available: boolean; }; export declare function storagePayloadAsBytes(value: unknown): Uint8Array | undefined; export declare function useDownloadStorageObject(): import('../../../lib/query/tanstack.js').AthenaMutationResult<{ bytes: Uint8Array; key: string; }, Error, string, unknown> & { available: boolean; };