/// import { Readable } from 'stream'; import { TaskEither } from 'fp-ts/TaskEither'; import * as t from 'io-ts'; import { Option } from 'fp-ts/lib/Option'; import * as TE from 'fp-ts/TaskEither'; import { DynamicObject } from '../dynamictype/DynamicType'; export interface FileContentTypeCheckerInterface { isFileContentType(value: unknown): value is string; } export declare const FileContentTypeChecker: FileContentTypeCheckerInterface; export type FileMetadata = { name: string; size?: number; contentType?: string; }; export declare const fileMetadataDescriptor: t.Type; export declare const fileDescriptorDescriptor: t.Type; export type File = { reference: FileDescriptor; content: Readable; }; export type FileDescriptor = { _tag: 'FileDescriptor'; key: string; metadata: FileMetadata; }; export interface FileDescriptorInterface { isFileDescriptor(value: unknown): value is FileDescriptor; fromFile(file: File): FileDescriptor; } export declare const FileDescriptor: FileDescriptorInterface; export type SharedUrl = { url: string; expires?: number; }; export interface FileStorage { write(file: File, writeOptions: Option): TaskEither; read(key: string, name?: string): TaskEither; getSharedUrl(key: string): TaskEither; getSize(key: string): TaskEither; delete(key: string): TaskEither; createDirectory(key: string): TaskEither; deleteDirectory(key: string): TE.TaskEither; } //# sourceMappingURL=File.d.ts.map