import { Workspace } from '../workspace';
import { Network, GetFlow } from './network';
import { ComponentID } from '../component';
import { ExecutionOptions } from './network/options';
import { BitId } from '../../bit-id';
import { PostFlow } from './network/network';
export declare class Flows {
    private workspace;
    private emitter;
    constructor(workspace: Workspace);
    getIds(ids: string[]): ComponentID[];
    createNetwork(seeders: ComponentID[], getFlow: GetFlow, postFlow?: PostFlow): Network;
    createNetworkByFlowName(seeders: ComponentID[], name: string | undefined, options: ExecutionOptions): Network;
    runToPromise(seeders: ComponentID[], name?: string, options?: Partial<ExecutionOptions>, network?: Network): Promise<unknown>;
    run(seeders: ComponentID[], name?: string, options?: Partial<ExecutionOptions>, network?: Network): Promise<any>;
    runMultiple(flowsWithIds: IdsAndFlows, options?: Partial<ExecutionOptions>): Promise<unknown>;
    onWorkspaceLoaded(cb: any): void;
}
export declare class IdsAndFlows extends Array<{
    id: BitId;
    value: string[];
}> {
    getFlows(id: BitId): string[] | null;
    getFlowsIgnoreVersion(id: BitId): string[] | null;
    getFlowsIgnoreScopeAndVersion(id: BitId): string[] | null;
    toString(): string;
}
