import { Storage } from './Storage'; import { UploadTask } from './UploadTask'; import { UploadMetadata, StorageMetadata, SettableMetadata, StringFormat, UploadResult, ListOptions, ListResult } from './types'; import { UploadOptions } from '../types/index'; export interface IStorageReference { name: string; bucket: string; fullPath: string; path: string; root: IStorageReference; parent: IStorageReference | null; storage: Storage; put(file: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata): UploadTask; putString(data: string, format?: StringFormat, metadata?: UploadMetadata): UploadTask; getDownloadURL(): Promise; getMetadata(): Promise; updateMetadata(metadata: SettableMetadata): Promise; delete(): Promise<{ success: boolean; message?: string; }>; listAll(): Promise; list(options?: ListOptions): Promise; upload?: (file: File | Blob, options?: UploadOptions) => Promise<{ url: string; path: string; }>; } export declare class StorageReferenceImpl implements IStorageReference { path: string; fullPath: string; name: string; bucket: string; storage: Storage; constructor(path: string, storage: Storage); get root(): IStorageReference; get parent(): IStorageReference | null; put(data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata): UploadTask; putString(data: string, format?: StringFormat, metadata?: UploadMetadata): UploadTask; getDownloadURL(): Promise; getMetadata(): Promise; updateMetadata(metadata: SettableMetadata): Promise; delete(): Promise<{ success: boolean; message?: string; }>; listAll(): Promise; list(options?: ListOptions): Promise; upload(file: File | Blob, options?: UploadOptions): Promise<{ url: string; path: string; }>; } /** * 1:1 Modular Firebase Storage API functions */ export declare const ref: (storageOrRef: Storage | IStorageReference, path?: string) => IStorageReference; export declare const uploadBytes: (storageRef: IStorageReference, data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata) => Promise; export declare const uploadBytesResumable: (storageRef: IStorageReference, data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata) => UploadTask; export declare const uploadString: (storageRef: IStorageReference, value: string, format?: StringFormat, metadata?: UploadMetadata) => Promise; export declare const getDownloadURL: (storageRef: IStorageReference) => Promise; export declare const getMetadata: (storageRef: IStorageReference) => Promise; export declare const updateMetadata: (storageRef: IStorageReference, metadata: SettableMetadata) => Promise; export declare const deleteObject: (storageRef: IStorageReference) => Promise; export declare const listAll: (storageRef: IStorageReference) => Promise; export declare const list: (storageRef: IStorageReference, options?: ListOptions) => Promise;