import { Readable } from "stream";
import { ClientStorage, UrlDownloadInput, UrlUploadInput } from "@itwin/object-storage-core";
import { GoogleConfigDownloadInput, GoogleConfigUploadInput, GoogleUploadInMultiplePartsInput } from "../server";
import { ClientStorageWrapperFactory } from "./wrappers";
export declare class GoogleClientStorage extends ClientStorage {
    private _storageFactory;
    constructor(_storageFactory: ClientStorageWrapperFactory);
    download(input: (UrlDownloadInput | GoogleConfigDownloadInput) & {
        transferType: "buffer";
    }): Promise<Buffer>;
    download(input: (UrlDownloadInput | GoogleConfigDownloadInput) & {
        transferType: "stream";
    }): Promise<Readable>;
    download(input: (UrlDownloadInput | GoogleConfigDownloadInput) & {
        transferType: "local";
        localPath: string;
    }): Promise<string>;
    upload(input: UrlUploadInput | GoogleConfigUploadInput): Promise<void>;
    uploadInMultipleParts(input: GoogleUploadInMultiplePartsInput): Promise<void>;
}
//# sourceMappingURL=GoogleClientStorage.d.ts.map