1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Birthday is a Data class, whose members the inline parser cannot
# read (see sig/pro_tacts/contact.rbs). It is marked `@rbs skip` in
# birthday.rb and signed here instead.
module ProTacts
  class Birthday
    NO_YEAR: Integer
    OMIT_YEAR: String
    FULL_DATE: Regexp
    MONTH_AND_DAY: Regexp
    YEAR_AND_MONTH: Regexp
    YEAR_ALONE: Regexp
    MONTH_ALONE: Regexp
    DAY_ALONE: Regexp
    OMIT_YEAR_DATE: Regexp

    attr_reader year: Integer?
    attr_reader month: Integer?
    attr_reader day: Integer?

    def self.new: (?year: Integer?, ?month: Integer?, ?day: Integer?) -> instance

    def to_line: () -> String?

    def to_s: () -> String

    def served?: () -> bool

    def next_on: (Date today) -> Date?

    def self.from_property: (VCard::Parser::Property property) -> Birthday?

    def self.significant_parameters: (VCard::Parser::Property property) -> Array[[String, String]]

    def self.apple_no_year?: (Array[[String, String]] parameters) -> bool

    def self.from_value: (String value) -> Birthday?

    private

    def date_in: (Integer year, Integer month, Integer day) -> Date
  end
end