import { Readable } from "stream"; export type IPFSCLIENT = { add: IPFSAdd; addAll: IPFSAddAll; refs: IPFSRefs; } export type FileObject = { content: Readable, path: string } export interface IPFSAddAll { (values: FileObject[], options?: IPFSAddOptions): Promise; } export interface IPFSAdd { (value: Readable, options: IPFSAddOptions): Promise; } export interface IPFSRefs { (ipfsPath: string, options?: IPFSRefsOptions): Promise; } export type AddReturnType = { Name: string, Hash: string, Size: string }; export type RefsReturnType = { Err: string, Ref: string }[]; export type IPFSAddOptions = { wrapWithDirectory?: boolean; cidVersion?: number; onlyHash?: boolean; chunker?: string; hash?: string; pin?: boolean; progress?: (percentCompleteOrBytesUploaded: number | string) => void; } export type IPFSRefsOptions = { recursive?: boolean; } export interface CreateIPFS { (ipfsOptions: { url: string }): IPFSCLIENT; }