import SchedulerInterface from './SchedulerInterface'; import PeriodicScheduler from './PeriodicScheduler'; import BusyWaitScheduler from './limiting/BusyWait'; import ConstantCyclesScheduler from './limiting/ConstantCycles'; import ConstantTimesliceScheduler from './limiting/ConstantTimeslice'; declare class Factory { createPeriodicScheduler(period: number): PeriodicScheduler; createImmediateScheduler(): SchedulerInterface; createLimitingScheduler(strategy?: Factory.LimitingSchedulingStrategy): BusyWaitScheduler | ConstantCyclesScheduler | ConstantTimesliceScheduler; getLimitingSchedulingStrategies(): Array; describeLimitingSchedulingStrategy(strategy: Factory.LimitingSchedulingStrategy): string; } declare namespace Factory { const enum LimitingSchedulingStrategy { busyWait = 0, constantCycles = 1, constantTimeslice = 2 } } export { Factory as default };