import { $ } from '../../../../Class/$';
import { Done } from '../../../../Class/Functional/Done';
import { Fail } from '../../../../Class/Functional/Fail';
import { Holder } from '../../../../Class/Holder';
import { System } from '../../../../system';
import { A } from '../../../../types/interface/A';
import { B } from '../../../../types/interface/B';
export interface I<T> {
    parts: A<BlobPart> & $;
    opt: BlobPropertyBag;
}
export interface O<T> {
    blob: B;
}
export default class Blob_<T> extends Holder<I<T>, O<T>> {
    constructor(system: System);
    f({ parts, opt }: I<T>, done: Done<O<T>>, fail: Fail): Promise<void>;
}
