import { Functional } from '../../../../Class/Functional';
import { Done } from '../../../../Class/Functional/Done';
import { BundleOpt } from '../../../../Class/Unit';
import { System } from '../../../../system';
import { BundleSpec } from '../../../../types/BundleSpec';
import { $G } from '../../../../types/interface/async/$G';
export interface I<T> {
    graph: $G;
    opt: BundleOpt;
}
export interface O<T> {
    bundle: BundleSpec;
}
export default class Bundle<T> extends Functional<I<T>, O<T>> {
    constructor(system: System);
    f({ graph, opt }: I<T>, done: Done<O<T>>): void;
}
