/// <reference types="node" />
import type { Readable } from 'stream';
export interface MetaDataInfo {
    id: string;
    name?: string;
}
interface MetadataID {
    type: string;
    hash: string;
}
interface MetaDatafile {
    type: string;
    path: string;
}
interface StreamMetaData {
    type: string;
    stream: Readable;
}
export declare class MetaData {
    data: any;
    path: string | undefined;
    constructor();
    static init(folderPath?: string): Promise<MetaData>;
    static getRecentDataInfo(): Promise<{
        sha256: string | string[] | undefined;
        etag: string | undefined;
        modifiedDate: string | undefined;
        modifiedDateFromS3: string | string[] | undefined;
    }>;
    getMetaData(id: MetadataID): MetaDataInfo;
    isExist(id: MetadataID): boolean;
    fetch(): Promise<void>;
    appendJSONfile(file: MetaDatafile): Promise<void>;
    appendJSONStream(stream: StreamMetaData): Promise<void>;
    saveFile(): Promise<void[]>;
    _updateDataMap(type: string, map: Map<string, string>): void;
}
export {};
