///
import { File, Storage as CloudStorage, StorageObject } from '@google-cloud/storage';
import * as E from 'fp-ts/lib/Either';
import * as R from 'fp-ts/lib/Reader';
import * as RE from 'fp-ts/lib/ReaderEither';
import * as RTE from 'fp-ts/lib/ReaderTaskEither';
import { Path } from 'functional-google-cloud/lib/CloudStorage';
/**
* ```haskell
* getPathFromStorageObject :: StorageObject -> Either Path Error
* ```
*/
export declare const getPathFromStorageObject: (object: StorageObject) => E.Either;
/**
* ```haskell
* getFileFromCloudStorage :: CloudStorage -> ReaderTaskEither StorageObject File Error
* ```
*/
export declare const getFileFromCloudStorage: (storage: CloudStorage) => RE.ReaderEither;
/**
* ```haskell
* getBufferFromCloudStorage :: CloudStorage -> ReaderTaskEither StorageObject Buffer Error
* ```
*/
export declare const getBufferFromCloudStorage: (storage: CloudStorage) => RTE.ReaderTaskEither;
/**
* ```haskell
* getFolderNameFromPath :: String -> String
* ```
*/
export declare const getFolderNameFromPath: (path: string) => string;
/**
* ```haskell
* getFolderNameFromStorageObject :: StorageObject -> String
* ```
*/
export declare const getFolderNameFromStorageObject: (object: StorageObject) => string;
/**
* ```haskell
* getFileNameFromStorageObject :: StorageObject -> Reader String String
* ```
*/
export declare const getFileNameFromStorageObject: (object: StorageObject) => R.Reader;
/**
* ```haskell
* getPathFromFilePath :: String -> Reader String Path
* ```
*/
export declare const getPathFromFilePath: (bucket: string) => R.Reader;
/**
* ```haskell
* getPathWithNameFromBucket :: String -> Reader StorageObject (Reader String Path)
* ```
*/
export declare const getPathWithNameFromBucket: (bucket: string) => R.Reader>;