1<?php
2
3/** @generate-class-entries */
4
5/** @not-serializable */
6class NumberFormatter
7{
8    /* UNumberFormatStyle constants */
9
10    /**
11     * @var int
12     * @cvalue UNUM_PATTERN_DECIMAL
13     */
14    public const PATTERN_DECIMAL = UNKNOWN;
15    /**
16     * @var int
17     * @cvalue UNUM_DECIMAL
18     */
19    public const DECIMAL = UNKNOWN;
20    /**
21     * @var int
22     * @cvalue UNUM_CURRENCY
23     */
24    public const CURRENCY = UNKNOWN;
25    /**
26     * @var int
27     * @cvalue UNUM_PERCENT
28     */
29    public const PERCENT = UNKNOWN;
30    /**
31     * @var int
32     * @cvalue UNUM_SCIENTIFIC
33     */
34    public const SCIENTIFIC = UNKNOWN;
35    /**
36     * @var int
37     * @cvalue UNUM_SPELLOUT
38     */
39    public const SPELLOUT = UNKNOWN;
40    /**
41     * @var int
42     * @cvalue UNUM_ORDINAL
43     */
44    public const ORDINAL = UNKNOWN;
45    /**
46     * @var int
47     * @cvalue UNUM_DURATION
48     */
49    public const DURATION = UNKNOWN;
50    /**
51     * @var int
52     * @cvalue UNUM_PATTERN_RULEBASED
53     */
54    public const PATTERN_RULEBASED = UNKNOWN;
55    /**
56     * @var int
57     * @cvalue UNUM_IGNORE
58     */
59    public const IGNORE = UNKNOWN;
60#if U_ICU_VERSION_MAJOR_NUM >= 53
61    /**
62     * @var int
63     * @cvalue UNUM_CURRENCY_ACCOUNTING
64     */
65    public const CURRENCY_ACCOUNTING = UNKNOWN;
66#endif
67    /**
68     * @var int
69     * @cvalue UNUM_DEFAULT
70     */
71    public const DEFAULT_STYLE = UNKNOWN;
72
73    /* UNumberFormatRoundingMode */
74
75    /**
76     * @var int
77     * @cvalue UNUM_ROUND_CEILING
78     */
79    public const ROUND_CEILING = UNKNOWN;
80    /**
81     * @var int
82     * @cvalue UNUM_ROUND_FLOOR
83     */
84    public const ROUND_FLOOR = UNKNOWN;
85    /**
86     * @var int
87     * @cvalue UNUM_ROUND_DOWN
88     */
89    public const ROUND_DOWN = UNKNOWN;
90    /**
91     * @var int
92     * @cvalue UNUM_ROUND_UP
93     */
94    public const ROUND_UP = UNKNOWN;
95    /**
96     * @var int
97     * @cvalue UNUM_ROUND_HALFEVEN
98     */
99    public const ROUND_HALFEVEN = UNKNOWN;
100    /**
101     * @var int
102     * @cvalue UNUM_ROUND_HALFDOWN
103     */
104    public const ROUND_HALFDOWN = UNKNOWN;
105    /**
106     * @var int
107     * @cvalue UNUM_ROUND_HALFUP
108     */
109    public const ROUND_HALFUP = UNKNOWN;
110
111    /* UNumberFormatPadPosition */
112
113    /**
114     * @var int
115     * @cvalue UNUM_PAD_BEFORE_PREFIX
116     */
117    public const PAD_BEFORE_PREFIX = UNKNOWN;
118    /**
119     * @var int
120     * @cvalue UNUM_PAD_AFTER_PREFIX
121     */
122    public const PAD_AFTER_PREFIX = UNKNOWN;
123    /**
124     * @var int
125     * @cvalue UNUM_PAD_BEFORE_SUFFIX
126     */
127    public const PAD_BEFORE_SUFFIX = UNKNOWN;
128    /**
129     * @var int
130     * @cvalue UNUM_PAD_AFTER_SUFFIX
131     */
132    public const PAD_AFTER_SUFFIX = UNKNOWN;
133
134    /* UNumberFormatAttribute */
135
136    /**
137     * @var int
138     * @cvalue UNUM_PARSE_INT_ONLY
139     */
140    public const PARSE_INT_ONLY = UNKNOWN;
141    /**
142     * @var int
143     * @cvalue UNUM_GROUPING_USED
144     */
145    public const GROUPING_USED = UNKNOWN;
146    /**
147     * @var int
148     * @cvalue UNUM_DECIMAL_ALWAYS_SHOWN
149     */
150    public const DECIMAL_ALWAYS_SHOWN = UNKNOWN;
151    /**
152     * @var int
153     * @cvalue UNUM_MAX_INTEGER_DIGITS
154     */
155    public const MAX_INTEGER_DIGITS = UNKNOWN;
156    /**
157     * @var int
158     * @cvalue UNUM_MIN_INTEGER_DIGITS
159     */
160    public const MIN_INTEGER_DIGITS = UNKNOWN;
161    /**
162     * @var int
163     * @cvalue UNUM_INTEGER_DIGITS
164     */
165    public const INTEGER_DIGITS = UNKNOWN;
166    /**
167     * @var int
168     * @cvalue UNUM_MAX_FRACTION_DIGITS
169     */
170    public const MAX_FRACTION_DIGITS = UNKNOWN;
171    /**
172     * @var int
173     * @cvalue UNUM_MIN_FRACTION_DIGITS
174     */
175    public const MIN_FRACTION_DIGITS = UNKNOWN;
176    /**
177     * @var int
178     * @cvalue UNUM_FRACTION_DIGITS
179     */
180    public const FRACTION_DIGITS = UNKNOWN;
181    /**
182     * @var int
183     * @cvalue UNUM_MULTIPLIER
184     */
185    public const MULTIPLIER = UNKNOWN;
186    /**
187     * @var int
188     * @cvalue UNUM_GROUPING_SIZE
189     */
190    public const GROUPING_SIZE = UNKNOWN;
191    /**
192     * @var int
193     * @cvalue UNUM_ROUNDING_MODE
194     */
195    public const ROUNDING_MODE = UNKNOWN;
196    /**
197     * @var int
198     * @cvalue UNUM_ROUNDING_INCREMENT
199     */
200    public const ROUNDING_INCREMENT = UNKNOWN;
201    /**
202     * @var int
203     * @cvalue UNUM_FORMAT_WIDTH
204     */
205    public const FORMAT_WIDTH = UNKNOWN;
206    /**
207     * @var int
208     * @cvalue UNUM_PADDING_POSITION
209     */
210    public const PADDING_POSITION = UNKNOWN;
211    /**
212     * @var int
213     * @cvalue UNUM_SECONDARY_GROUPING_SIZE
214     */
215    public const SECONDARY_GROUPING_SIZE = UNKNOWN;
216    /**
217     * @var int
218     * @cvalue UNUM_SIGNIFICANT_DIGITS_USED
219     */
220    public const SIGNIFICANT_DIGITS_USED = UNKNOWN;
221    /**
222     * @var int
223     * @cvalue UNUM_MIN_SIGNIFICANT_DIGITS
224     */
225    public const MIN_SIGNIFICANT_DIGITS = UNKNOWN;
226    /**
227     * @var int
228     * @cvalue UNUM_MAX_SIGNIFICANT_DIGITS
229     */
230    public const MAX_SIGNIFICANT_DIGITS = UNKNOWN;
231    /**
232     * @var int
233     * @cvalue UNUM_LENIENT_PARSE
234     */
235    public const LENIENT_PARSE = UNKNOWN;
236
237    /* UNumberFormatTextAttribute */
238
239    /**
240     * @var int
241     * @cvalue UNUM_POSITIVE_PREFIX
242     */
243    public const POSITIVE_PREFIX = UNKNOWN;
244    /**
245     * @var int
246     * @cvalue UNUM_POSITIVE_SUFFIX
247     */
248    public const POSITIVE_SUFFIX = UNKNOWN;
249    /**
250     * @var int
251     * @cvalue UNUM_NEGATIVE_PREFIX
252     */
253    public const NEGATIVE_PREFIX = UNKNOWN;
254    /**
255     * @var int
256     * @cvalue UNUM_NEGATIVE_SUFFIX
257     */
258    public const NEGATIVE_SUFFIX = UNKNOWN;
259    /**
260     * @var int
261     * @cvalue UNUM_PADDING_CHARACTER
262     */
263    public const PADDING_CHARACTER = UNKNOWN;
264    /**
265     * @var int
266     * @cvalue UNUM_CURRENCY_CODE
267     */
268    public const CURRENCY_CODE = UNKNOWN;
269    /**
270     * @var int
271     * @cvalue UNUM_DEFAULT_RULESET
272     */
273    public const DEFAULT_RULESET = UNKNOWN;
274    /**
275     * @var int
276     * @cvalue UNUM_PUBLIC_RULESETS
277     */
278    public const PUBLIC_RULESETS = UNKNOWN;
279
280    /* UNumberFormatSymbol */
281
282    /**
283     * @var int
284     * @cvalue UNUM_DECIMAL_SEPARATOR_SYMBOL
285     */
286    public const DECIMAL_SEPARATOR_SYMBOL = UNKNOWN;
287    /**
288     * @var int
289     * @cvalue UNUM_GROUPING_SEPARATOR_SYMBOL
290     */
291    public const GROUPING_SEPARATOR_SYMBOL = UNKNOWN;
292    /**
293     * @var int
294     * @cvalue UNUM_PATTERN_SEPARATOR_SYMBOL
295     */
296    public const PATTERN_SEPARATOR_SYMBOL = UNKNOWN;
297    /**
298     * @var int
299     * @cvalue UNUM_PERCENT_SYMBOL
300     */
301    public const PERCENT_SYMBOL = UNKNOWN;
302    /**
303     * @var int
304     * @cvalue UNUM_ZERO_DIGIT_SYMBOL
305     */
306    public const ZERO_DIGIT_SYMBOL = UNKNOWN;
307    /**
308     * @var int
309     * @cvalue UNUM_DIGIT_SYMBOL
310     */
311    public const DIGIT_SYMBOL = UNKNOWN;
312    /**
313     * @var int
314     * @cvalue UNUM_MINUS_SIGN_SYMBOL
315     */
316    public const MINUS_SIGN_SYMBOL = UNKNOWN;
317    /**
318     * @var int
319     * @cvalue UNUM_PLUS_SIGN_SYMBOL
320     */
321    public const PLUS_SIGN_SYMBOL = UNKNOWN;
322    /**
323     * @var int
324     * @cvalue UNUM_CURRENCY_SYMBOL
325     */
326    public const CURRENCY_SYMBOL = UNKNOWN;
327    /**
328     * @var int
329     * @cvalue UNUM_INTL_CURRENCY_SYMBOL
330     */
331    public const INTL_CURRENCY_SYMBOL = UNKNOWN;
332    /**
333     * @var int
334     * @cvalue UNUM_MONETARY_SEPARATOR_SYMBOL
335     */
336    public const MONETARY_SEPARATOR_SYMBOL = UNKNOWN;
337    /**
338     * @var int
339     * @cvalue UNUM_EXPONENTIAL_SYMBOL
340     */
341    public const EXPONENTIAL_SYMBOL = UNKNOWN;
342    /**
343     * @var int
344     * @cvalue UNUM_PERMILL_SYMBOL
345     */
346    public const PERMILL_SYMBOL = UNKNOWN;
347    /**
348     * @var int
349     * @cvalue UNUM_PAD_ESCAPE_SYMBOL
350     */
351    public const PAD_ESCAPE_SYMBOL = UNKNOWN;
352    /**
353     * @var int
354     * @cvalue UNUM_INFINITY_SYMBOL
355     */
356    public const INFINITY_SYMBOL = UNKNOWN;
357    /**
358     * @var int
359     * @cvalue UNUM_NAN_SYMBOL
360     */
361    public const NAN_SYMBOL = UNKNOWN;
362    /**
363     * @var int
364     * @cvalue UNUM_SIGNIFICANT_DIGIT_SYMBOL
365     */
366    public const SIGNIFICANT_DIGIT_SYMBOL = UNKNOWN;
367    /**
368     * @var int
369     * @cvalue UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL
370     */
371    public const MONETARY_GROUPING_SEPARATOR_SYMBOL = UNKNOWN;
372
373    /**
374     * @var int
375     * @cvalue FORMAT_TYPE_DEFAULT
376     */
377    public const TYPE_DEFAULT = UNKNOWN;
378    /**
379     * @var int
380     * @cvalue FORMAT_TYPE_INT32
381     */
382    public const TYPE_INT32 = UNKNOWN;
383    /**
384     * @var int
385     * @cvalue FORMAT_TYPE_INT64
386     */
387    public const TYPE_INT64 = UNKNOWN;
388    /**
389     * @var int
390     * @cvalue FORMAT_TYPE_DOUBLE
391     */
392    public const TYPE_DOUBLE = UNKNOWN;
393    /**
394     * @var int
395     * @deprecated
396     * @cvalue FORMAT_TYPE_CURRENCY
397     */
398    public const TYPE_CURRENCY = UNKNOWN;
399
400    public function __construct(string $locale, int $style, ?string $pattern = null) {}
401
402    /**
403     * @tentative-return-type
404     * @alias numfmt_create
405     */
406    public static function create(string $locale, int $style, ?string $pattern = null): ?NumberFormatter {}
407
408    /**
409     * @tentative-return-type
410     * @alias numfmt_format
411     */
412    public function format(int|float $num, int $type = NumberFormatter::TYPE_DEFAULT): string|false {}
413
414    /**
415     * @param int $offset
416     * @tentative-return-type
417     * @alias numfmt_parse
418     */
419    public function parse(string $string, int $type = NumberFormatter::TYPE_DOUBLE, &$offset = null): int|float|false {}
420
421    /**
422     * @tentative-return-type
423     * @alias numfmt_format_currency
424     */
425    public function formatCurrency(float $amount, string $currency): string|false {}
426
427    /**
428     * @param string $currency
429     * @param int $offset
430     * @tentative-return-type
431     * @alias numfmt_parse_currency
432     */
433    public function parseCurrency(string $string, &$currency, &$offset = null): float|false {}
434
435    /**
436     * @tentative-return-type
437     * @alias numfmt_set_attribute
438     */
439    public function setAttribute(int $attribute, int|float $value): bool {}
440
441    /**
442     * @tentative-return-type
443     * @alias numfmt_get_attribute
444     */
445    public function getAttribute(int $attribute): int|float|false {}
446
447    /**
448     * @tentative-return-type
449     * @alias numfmt_set_text_attribute
450     */
451    public function setTextAttribute(int $attribute, string $value): bool {}
452
453    /**
454     * @tentative-return-type
455     * @alias numfmt_get_text_attribute
456     */
457    public function getTextAttribute(int $attribute): string|false {}
458
459    /**
460     * @tentative-return-type
461     * @alias numfmt_set_symbol
462     */
463    public function setSymbol(int $symbol, string $value): bool {}
464
465    /**
466     * @tentative-return-type
467     * @alias numfmt_get_symbol
468     */
469    public function getSymbol(int $symbol): string|false {}
470
471    /**
472     * @tentative-return-type
473     * @alias numfmt_set_pattern
474     */
475    public function setPattern(string $pattern): bool {}
476
477    /**
478     * @tentative-return-type
479     * @alias numfmt_get_pattern
480     */
481    public function getPattern(): string|false {}
482
483    /**
484     * @tentative-return-type
485     * @alias numfmt_get_locale
486     */
487    public function getLocale(int $type = ULOC_ACTUAL_LOCALE): string|false {}
488
489    /**
490     * @tentative-return-type
491     * @alias numfmt_get_error_code
492     */
493    public function getErrorCode(): int {}
494
495    /**
496     * @tentative-return-type
497     * @alias numfmt_get_error_message
498     */
499    public function getErrorMessage(): string {}
500}
501