// @flow import type { Scheduler, Task, ScheduledTask, Timeline, Timer, Clock, Time, Delay, Period, Offset } from '@most/types' declare export function newScheduler (timer: Timer, timeline: Timeline): Scheduler declare export function newScheduler (timer: Timer): (timeline: Timeline) => Scheduler declare export function newDefaultScheduler (): Scheduler declare export function schedulerRelativeTo (offset: Offset, scheduler: Scheduler): Scheduler declare export function schedulerRelativeTo (offset: Offset): (scheduler: Scheduler) => Scheduler declare export function newClockTimer (clock: Clock): Timer declare export function newTimeline (): Timeline declare export function newPlatformClock (): Clock declare export function newPerformanceClock (): Clock declare export function newDateClock (): Clock declare export function newHRTimeClock (): Clock declare export function clockRelativeTo (clock: Clock): Clock declare export function currentTime (scheduler: Scheduler): Time declare export function asap (task: Task, scheduler: Scheduler): ScheduledTask declare export function asap (task: Task): (scheduler: Scheduler) => ScheduledTask declare export function delay (delay: Delay, task: Task, scheduler: Scheduler): ScheduledTask declare export function delay (delay: Delay): (task: Task, scheduler: Scheduler) => ScheduledTask declare export function delay (delay: Delay, task: Task): (scheduler: Scheduler) => ScheduledTask declare export function delay (delay: Delay): (task: Task) => (scheduler: Scheduler) => ScheduledTask declare export function periodic (period: Period, task: Task, scheduler: Scheduler): ScheduledTask declare export function periodic (period: Period): (task: Task, scheduler: Scheduler) => ScheduledTask declare export function periodic (period: Period, task: Task): (scheduler: Scheduler) => ScheduledTask declare export function periodic (period: Period): (task: Task) => (scheduler: Scheduler) => ScheduledTask declare export function cancelTask (scheduledTask: ScheduledTask): void declare export function cancelAllTasks (predicate: (ScheduledTask) => boolean, scheduler: Scheduler): void declare export function cancelAllTasks (predicate: (ScheduledTask) => boolean): (Scheduler) => void