Passed
Branch master (84c5d9)
by Kauri
02:53
created

PaymentScheduleConfigInterface::getDateInterval()

Size

Total Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 1
ccs 0
cts 0
cp 0
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace Kauri\Loan;
6
7
8
interface PaymentScheduleConfigInterface
9
{
10
    /**
11
     * PaymentScheduleConfigInterface constructor.
12
     * @param int $noOfPayments
13
     * @param \DateTimeInterface $startDate
14
     * @param string $dateIntervalPattern
15
     * @param \DateTimeInterface|null $firstPaymentDate
16
     */
17
    public function __construct(
18
        int $noOfPayments,
19
        \DateTimeInterface $startDate,
20
        string $dateIntervalPattern,
21
        \DateTimeInterface $firstPaymentDate = null
22
    );
23
24
    /**
25
     * @return int
26
     */
27
    public function getNoOfPayments(): int;
28
29
    /**
30
     * @return \DateTimeInterface
31
     */
32
    public function getStartDate(): \DateTimeInterface;
33
34
    /**
35
     * @return int
36
     */
37
    public function getAverageIntervalLength(): int;
38
39
    /**
40
     * @return \DateInterval
41
     */
42
    public function getDateInterval(): \DateInterval;
43
44
    /**
45
     * @return \DateTimeInterface|null
46
     */
47
    public function getFirstPaymentDate(): ? \DateTimeInterface;
48
}