import { AxiosInstance } from 'axios'; import { UploadMetadata, StorageMetadata, SettableMetadata, ListOptions, ListResult } from './types'; import { UploadOptions } from '../types/index'; import { UploadTask } from './UploadTask'; import { IStorageReference } from './StorageReference'; export declare class Storage { private projectId; private client; emulatorUrl?: string; constructor(projectId: string, client: AxiosInstance); ref(path?: string): IStorageReference; refFromURL(url: string): IStorageReference; createUploadTask(path: string, file: Blob, metadata?: UploadMetadata): UploadTask; uploadFile(path: string, file: File | Blob, options?: UploadOptions): Promise<{ url: string; path: string; }>; getDownloadURL(path: string): Promise; deleteFile(path: string): Promise<{ success: boolean; message?: string; }>; getMetadata(path: string): Promise; updateMetadata(path: string, metadata: SettableMetadata): Promise; list(path: string, options?: ListOptions): Promise; } export declare const getStorage: (app?: any) => Storage; export declare const connectStorageEmulator: (storage: Storage, host: string, port: number) => void;