import { Storage as CloudStorage } from '@google-cloud/storage'; import { Request, RequestHandler } from 'express'; import * as R from 'fp-ts/lib/Reader'; import { Path } from 'functional-google-cloud/lib/CloudStorage'; import { Reference } from 'functional-types/lib/Folder'; export interface Storage { cloud_storage: CloudStorage; buckets: string[]; } declare type GetPathFunction = (bucket: any) => R.Reader; export interface Callables { requestPredicate: (request: Request) => request is A; getReferenceFromRequest: (request: A) => Reference; getPathFromReference: GetPathFunction; predicate: (a: unknown) => a is Model; } declare const make: (callables: Callables) => R.Reader; export default make;