import * as h5 from "h5wasm"; import { FileProxyOptions } from "./lazy/FileProxy"; import { ArbitraryObject, Callbacks } from "./types"; type PostprocessFunction = (info: ArbitraryObject, transformToSnakeCase?: boolean) => ArbitraryObject | Promise; export type IOInput = { debug?: boolean; postprocess?: PostprocessFunction; h5?: typeof h5; extension?: string; mimeType?: string; path?: string; }; export * from './utils/properties'; export * as symbols from './symbols'; type FetchOptions = { useStreaming?: boolean; } & Callbacks; type UploadOptions = { multiple?: boolean; }; type Options = { filename?: string; } & UploadOptions & FetchOptions; type FileType = { [key: string | symbol]: any; indexedDBFilenameSymbol: string; }; type FileObject = { name: string; file?: FileType; reader?: h5.File; url?: string; }; type ResolvedFileObject = FileObject & { reader: h5.File; }; export declare class HDF5IO { #private; files: Map; constructor(options?: IOInput); initFS: (path?: string) => Promise; syncFS: (read?: boolean) => true | Promise; upload: (ev?: Event | HTMLInputElement['files'], options?: UploadOptions) => Promise; list: (path?: string) => Promise; download: (input: string | FileType, file?: any) => Promise; stream: (url: string, options?: FileProxyOptions, callbacks?: Callbacks, name?: string) => Promise; resolveStream: (o: any | Promise) => Promise<{ [key: string]: any; }>; fetch: (url: string, filename: Options['filename'], options?: FetchOptions) => Promise; parse: (o: h5.File | h5.Group | h5.BrokenSoftLink | h5.ExternalLink | h5.Datatype, aggregator: { [x: string]: any; } | undefined, key: string, keepDatasets?: boolean, parent?: h5.File | h5.Group, onChange?: Function) => any; load: (path?: string | null, options?: Options) => Promise; get: (path: string, options?: { mode?: keyof (typeof h5.ACCESS_MODES); create?: boolean; clear?: boolean; }) => Promise; save: (o: ArbitraryObject, name?: string) => Promise; close: (name?: string) => void; } export default HDF5IO;