import { Bundle } from "./bundle";
import { BundleService } from "../service";
import { VariableManager } from "./variable-manager";
export interface BundleConfigPredefined {
    id: number;
}
export declare class ObjectIterator<T> implements Iterator<T> {
    protected object: any;
    values: T[];
    index: number;
    next(): IteratorResult<T>;
    constructor(object: any);
}
export declare class BundleManager implements Iterable<Bundle<any>> {
    protected service: BundleService;
    protected variableManager: VariableManager;
    _bundles: {
        [key: string]: Bundle<any>;
    };
    [Symbol
        .iterator](): Iterator<Bundle<any>>;
    constructor(service: BundleService, variableManager: VariableManager);
    readonly bundles: {
        [key: string]: Bundle<any>;
    };
    get(identifier: string): Bundle<any>;
    add(identifier: string, configOrBundle: BundleConfigPredefined): this;
    bundle<DataType>(identifier: string): Bundle<DataType>;
    protected _createBundle<BundleType>(identifier: string, config: BundleConfigPredefined): Bundle<BundleType>;
    clear(): void;
}
