Lines n/a 0 / 0
Functions and Methods n/a 0 / 0
Classes and Traits n/a 0 / 0
Name Lines Functions and Methods CRAP Classes and Traits
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Runtime\Schedule;
6
7use Stewart\Contracts\Time\Duration;
8use Stewart\Contracts\Time\Instant;
9use Throwable;
10
11interface Trigger
12{
13    /** @throws Throwable */
14    public function occursAtAll(): bool;
15
16    /** @throws Throwable */
17    public function start(): bool;
18
19    public function dueAt(): ?Instant;
20
21    public function isDue(): bool;
22
23    public function delayUntilDue(): ?Duration;
24
25    /** @throws Throwable */
26    public function advance(): int;
27
28    public function isRecurring(): bool;
29
30    public function describe(): string;
31}