/**
 * DataFlow holds data sources and collectors for optimization and initialization.
 */
export default class DataFlow {
    /**
     * Registry for per-view loading status. The host may replace this.
     *
     * @type {import("../genomeSpy/loadingStatusRegistry.js").default}
     */
    loadingStatusRegistry: import("../genomeSpy/loadingStatusRegistry.js").default;
    get dataSources(): DataSource[];
    get collectors(): import("./collector.js").default[];
    /**
     * @param {Iterable<import("./sources/dataSource.js").default>} dataSources
     */
    replaceDataSources(dataSources: Iterable<import("./sources/dataSource.js").default>): void;
    /**
     * @param {import("./sources/dataSource.js").default} dataSource
     */
    addDataSource(dataSource: import("./sources/dataSource.js").default): void;
    /**
     * @param {import("./sources/dataSource.js").default} dataSource
     */
    removeDataSource(dataSource: import("./sources/dataSource.js").default): void;
    /**
     * @param {import("./collector.js").default} collector
     */
    addCollector(collector: import("./collector.js").default): void;
    /**
     * @param {import("./collector.js").default} collector
     */
    removeCollector(collector: import("./collector.js").default): void;
    /**
     * Prune a collector branch from the flow graph, removing empty ancestors.
     *
     * @param {import("./collector.js").default} collector
     */
    pruneCollectorBranch(collector: import("./collector.js").default): void;
    /**
     * @param {string} name
     */
    findNamedDataSource(name: string): {
        dataSource: NamedSource;
    };
    #private;
}
import DataSource from "./sources/dataSource.js";
import NamedSource from "./sources/namedSource.js";
//# sourceMappingURL=dataFlow.d.ts.map