import { Timeline, Timeslot } from '../interfaces';
import { PredeterminedTask } from './PredeterminedTask';
export declare class BinaryTimeline implements Timeline<PredeterminedTask> {
    private tasks;
    constructor();
    nextArrival(): number;
    isEmpty(): boolean;
    add(task: PredeterminedTask): void;
    remove(task: PredeterminedTask): boolean;
    removeAll(f: (task: PredeterminedTask) => boolean): void;
    runTasks(time: number, runTask: (task: PredeterminedTask) => any): void;
}
export declare class BinaryTimeslot implements Timeslot<PredeterminedTask> {
    time: number;
    events: PredeterminedTask[];
    constructor(time: number, events: PredeterminedTask[]);
    static create(time: number, events: PredeterminedTask[]): BinaryTimeslot;
}
