var now: Self.SchedulerTimeType { get } /// Returns the minimum tolerance allowed by the scheduler. var minimumTolerance: Self.SchedulerTimeType.Stride { get } /// Performs the action at the next possible opportunity. func schedule(options: Self.SchedulerOptions?, action: @escaping () -> Void) /// Performs the action at some time after the specified date. func schedule(after date: Self.SchedulerTimeType, tolerance: Self.SchedulerTimeType.Stride, options: Self.SchedulerOptions?, action: @escaping () -> Void) /// Performs the action at some time after the specified date, at the specified /// frequency, optionally taking into account tolerance if possible. func schedule(after date: Self.SchedulerTimeType, interval: Self.SchedulerTimeType.Stride, tolerance: Self.SchedulerTimeType.Stride, options: Self.SchedulerOptions?, _ action: @escaping () -> Void) -> Cancellable