import { Scenario } from "../configuration/scenario/Scenario";
export interface AssignedResult {
    isAssigned: boolean;
}
export interface TestAssigned extends AssignedResult {
    isAssigned: true;
    scenario: Scenario;
}
export interface NoneAssigned extends AssignedResult {
    isAssigned: false;
    reason: string;
}
/**
 * The number of calls that are made reflect the amount of tests needed
 * to be run. As each call's stream connects this is used to determine
 * the test that should be run
 */
export interface TestAssigner {
    assign(): TestAssigned | NoneAssigned;
}
export declare class IteratingTestAssigner implements TestAssigner {
    readonly scenarios: Scenario[];
    private readonly testIterator;
    constructor(scenarios: Scenario[]);
    assign(): TestAssigned | NoneAssigned;
}
