1<?php
2
3/** @generate-class-entries */
4
5/** @not-serializable */
6class IntlBreakIterator implements IteratorAggregate
7{
8    /**
9     * @var int
10     * @cvalue BreakIterator::DONE
11     */
12    public const DONE = UNKNOWN;
13
14    /**
15     * @var int
16     * @cvalue UBRK_WORD_NONE
17     */
18    public const WORD_NONE = UNKNOWN;
19    /**
20     * @var int
21     * @cvalue UBRK_WORD_NONE_LIMIT
22     */
23    public const WORD_NONE_LIMIT = UNKNOWN;
24    /**
25     * @var int
26     * @cvalue UBRK_WORD_NUMBER
27     */
28    public const WORD_NUMBER = UNKNOWN;
29    /**
30     * @var int
31     * @cvalue UBRK_WORD_NUMBER_LIMIT
32     */
33    public const WORD_NUMBER_LIMIT = UNKNOWN;
34    /**
35     * @var int
36     * @cvalue UBRK_WORD_LETTER
37     */
38    public const WORD_LETTER = UNKNOWN;
39    /**
40     * @var int
41     * @cvalue UBRK_WORD_LETTER_LIMIT
42     */
43    public const WORD_LETTER_LIMIT = UNKNOWN;
44    /**
45     * @var int
46     * @cvalue UBRK_WORD_KANA
47     */
48    public const WORD_KANA = UNKNOWN;
49    /**
50     * @var int
51     * @cvalue UBRK_WORD_KANA_LIMIT
52     */
53    public const WORD_KANA_LIMIT = UNKNOWN;
54    /**
55     * @var int
56     * @cvalue UBRK_WORD_IDEO
57     */
58    public const WORD_IDEO = UNKNOWN;
59    /**
60     * @var int
61     * @cvalue UBRK_WORD_IDEO_LIMIT
62     */
63    public const WORD_IDEO_LIMIT = UNKNOWN;
64
65    /**
66     * @var int
67     * @cvalue UBRK_LINE_SOFT
68     */
69    public const LINE_SOFT = UNKNOWN;
70    /**
71     * @var int
72     * @cvalue UBRK_LINE_SOFT_LIMIT
73     */
74    public const LINE_SOFT_LIMIT = UNKNOWN;
75    /**
76     * @var int
77     * @cvalue UBRK_LINE_HARD
78     */
79    public const LINE_HARD = UNKNOWN;
80    /**
81     * @var int
82     * @cvalue UBRK_LINE_HARD_LIMIT
83     */
84    public const LINE_HARD_LIMIT = UNKNOWN;
85
86    /**
87     * @var int
88     * @cvalue UBRK_SENTENCE_TERM
89     */
90    public const SENTENCE_TERM = UNKNOWN;
91    /**
92     * @var int
93     * @cvalue UBRK_SENTENCE_TERM_LIMIT
94     */
95    public const SENTENCE_TERM_LIMIT = UNKNOWN;
96    /**
97     * @var int
98     * @cvalue UBRK_SENTENCE_SEP
99     */
100    public const SENTENCE_SEP = UNKNOWN;
101    /**
102     * @var int
103     * @cvalue UBRK_SENTENCE_SEP_LIMIT
104     */
105    public const SENTENCE_SEP_LIMIT = UNKNOWN;
106
107    /** @tentative-return-type */
108    public static function createCharacterInstance(?string $locale = null): ?IntlBreakIterator {}
109
110    /** @tentative-return-type */
111    public static function createCodePointInstance(): IntlCodePointBreakIterator {}
112
113    /** @tentative-return-type */
114    public static function createLineInstance(?string $locale = null): ?IntlBreakIterator {}
115
116    /** @tentative-return-type */
117    public static function createSentenceInstance(?string $locale = null): ?IntlBreakIterator {}
118
119    /** @tentative-return-type */
120    public static function createTitleInstance(?string $locale = null): ?IntlBreakIterator {}
121
122    /** @tentative-return-type */
123    public static function createWordInstance(?string $locale = null): ?IntlBreakIterator {}
124
125    private function __construct() {}
126
127    /** @tentative-return-type */
128    public function current(): int {}
129
130    /** @tentative-return-type */
131    public function first(): int {}
132
133    /** @tentative-return-type */
134    public function following(int $offset): int {}
135
136    /** @tentative-return-type */
137    public function getErrorCode(): int {}
138
139    /** @tentative-return-type */
140    public function getErrorMessage(): string {}
141
142    /** @tentative-return-type */
143    public function getLocale(int $type): string|false {}
144
145    /** @tentative-return-type */
146    public function getPartsIterator(string $type = IntlPartsIterator::KEY_SEQUENTIAL): IntlPartsIterator {}
147
148    /** @tentative-return-type */
149    public function getText(): ?string {}
150
151    /** @tentative-return-type */
152    public function isBoundary(int $offset): bool {}
153
154    /** @tentative-return-type */
155    public function last(): int {}
156
157    /** @tentative-return-type */
158    public function next(?int $offset = null): int {}
159
160    /** @tentative-return-type */
161    public function preceding(int $offset): int {}
162
163    /** @tentative-return-type */
164    public function previous(): int {}
165
166    /** @tentative-return-type */
167    public function setText(string $text): ?bool {} // TODO return false instead of null in case of failure
168
169    public function getIterator(): Iterator {}
170}
171
172/** @not-serializable */
173class IntlRuleBasedBreakIterator extends IntlBreakIterator
174{
175    public function __construct(string $rules, bool $compiled = false) {}
176
177    /** @tentative-return-type */
178    public function getBinaryRules(): string|false {}
179
180    /** @tentative-return-type */
181    public function getRules(): string|false {}
182
183    /** @tentative-return-type */
184    public function getRuleStatus(): int {}
185
186    /** @tentative-return-type */
187    public function getRuleStatusVec(): array|false {}
188}
189
190/** @not-serializable */
191class IntlCodePointBreakIterator extends IntlBreakIterator
192{
193    /** @tentative-return-type */
194    public function getLastCodePoint(): int {}
195}
196