///
import { B2Client } from "./client";
import stream = require("stream");
export interface SnapshotItem {
id: string;
revision: string;
}
export interface ArchiveMeta {
providers: ArchiveProvider[];
remotes: ArchiveRemote[];
}
export interface ArchiveProvider {
id: string;
path: string;
}
export interface ArchiveRemote {
name: string;
endpoint: string;
}
export interface B2ArchiveFileProviderMeta {
id: string;
objects: number;
}
export interface B2ArchiveFileMeta {
providers: B2ArchiveFileProviderMeta[];
}
export interface B2ArchiveApplyResult {
result: {
applied: number;
skipped: number;
};
providerResults: {
id: string;
}[];
}
export declare class B2ArchiveFile {
private path;
private meta;
constructor(path: string);
inspect(forceReload?: boolean): Promise;
walkObjects(fn: (obj: {
id: string;
}) => void): Promise;
transformAndPipe(fn: (obj: {
id: string;
}) => any, w: stream.Writable): Promise;
getTypes(): Promise<{
[key: string]: string;
}>;
}
export declare type ProviderIdRewriteFunc = (id: string) => string;
export declare class B2Archive {
private c;
private path;
constructor(client: B2Client);
inspect(): Promise;
private writeMetaFile;
exportArchive(archivePath: string, providers?: string[]): Promise;
private getRedirectChecker;
importArchive(archivePath: string, redirect?: ProviderIdRewriteFunc): Promise;
}