/** * Created by thinhtran on 5/24/17. */ export interface IScheduleStep { at?: number; duration?: number; run: Function; } /** * Scheduler helps to call function with specific time and flexible configuration. */ export declare class Scheduler { endTime: number; steps: any[]; startTime: number; isRunning: boolean; timeouts: any[]; delay: number; repeat: number; constructor(); /** * * @param delay milliseconds * @param repeat integer */ start(delay?: number, repeat?: number): void; private scheduleEndStep(); /** * Stop all scheduled steps */ stop(clean?: boolean): void; /** * * @param at - starting time (make sure: at - elapsed >= 10ms, which elapsed is elapsed time from starting) * @param run - executive function */ pushStep(at: any, run: any): void; private scheduleNewStep(step); pushSteps(steps: Array): void; pushDurationSteps(durationSteps: Array): void; } export declare class SchedulerStatic { /** * Create new schedule with initial steps * @param steps - Syntax: [{at: