xref: /PHP-8.2/ext/intl/php_intl.stub.php (revision 66c4ade0)
1<?php
2
3/** @generate-class-entries */
4
5/**
6 * @var int
7 * @cvalue INTL_MAX_LOCALE_LEN
8 */
9const INTL_MAX_LOCALE_LEN = UNKNOWN;
10/**
11 * @var string
12 * @cvalue U_ICU_VERSION
13 */
14const INTL_ICU_VERSION = UNKNOWN;
15#ifdef U_ICU_DATA_VERSION
16/**
17 * @var string
18 * @cvalue U_ICU_DATA_VERSION
19 */
20const INTL_ICU_DATA_VERSION = UNKNOWN;
21#endif
22
23/**
24 * @var int
25 * @cvalue GRAPHEME_EXTRACT_TYPE_COUNT
26 */
27const GRAPHEME_EXTR_COUNT = UNKNOWN;
28/**
29 * @var int
30 * @cvalue GRAPHEME_EXTRACT_TYPE_MAXBYTES
31 */
32const GRAPHEME_EXTR_MAXBYTES = UNKNOWN;
33/**
34 * @var int
35 * @cvalue GRAPHEME_EXTRACT_TYPE_MAXCHARS
36 */
37const GRAPHEME_EXTR_MAXCHARS = UNKNOWN;
38
39/**
40 * Option to prohibit processing of unassigned codepoints in the input and
41 * do not check if the input conforms to STD-3 ASCII rules.
42 * @var int
43 * @cvalue UIDNA_DEFAULT
44 */
45const IDNA_DEFAULT = UNKNOWN;
46
47/**
48 * Option to allow processing of unassigned codepoints in the input
49 * @var int
50 * @cvalue UIDNA_ALLOW_UNASSIGNED
51 */
52const IDNA_ALLOW_UNASSIGNED = UNKNOWN;
53
54/**
55 * Option to check if input conforms to STD-3 ASCII rules
56 * @var int
57 * @cvalue UIDNA_USE_STD3_RULES
58 */
59const IDNA_USE_STD3_RULES = UNKNOWN;
60
61/**
62 * Option to check for whether the input conforms to the BiDi rules.
63 * Ignored by the IDNA2003 implementation. (IDNA2003 always performs a BiDi check.)
64 * @var int
65 * @cvalue UIDNA_CHECK_BIDI
66 */
67const IDNA_CHECK_BIDI = UNKNOWN;
68
69/**
70 * Option to check for whether the input conforms to the CONTEXTJ rules.
71 * Ignored by the IDNA2003 implementation. (The CONTEXTJ check is new in IDNA2008.)
72 * @var int
73 * @cvalue UIDNA_CHECK_CONTEXTJ
74 */
75const IDNA_CHECK_CONTEXTJ = UNKNOWN;
76
77/**
78 * Option for nontransitional processing in ToASCII().
79 * By default, ToASCII() uses transitional processing.
80 * Ignored by the IDNA2003 implementation.
81 * @var int
82 * @cvalue UIDNA_NONTRANSITIONAL_TO_ASCII
83 */
84const IDNA_NONTRANSITIONAL_TO_ASCII = UNKNOWN;
85
86/**
87 * Option for nontransitional processing in ToUnicode().
88 * By default, ToUnicode() uses transitional processing.
89 * Ignored by the IDNA2003 implementation.
90 * @var int
91 * @cvalue UIDNA_NONTRANSITIONAL_TO_UNICODE
92 */
93const IDNA_NONTRANSITIONAL_TO_UNICODE = UNKNOWN;
94
95/* VARIANTS */
96
97/**
98 * @var int
99 * @cvalue INTL_IDN_VARIANT_UTS46
100 */
101const INTL_IDNA_VARIANT_UTS46 = UNKNOWN;
102
103/* PINFO ERROR CODES */
104/**
105 * @var int
106 * @cvalue UIDNA_ERROR_EMPTY_LABEL
107 */
108const IDNA_ERROR_EMPTY_LABEL = UNKNOWN;
109/**
110 * @var int
111 * @cvalue UIDNA_ERROR_LABEL_TOO_LONG
112 */
113const IDNA_ERROR_LABEL_TOO_LONG = UNKNOWN;
114/**
115 * @var int
116 * @cvalue UIDNA_ERROR_DOMAIN_NAME_TOO_LONG
117 */
118const IDNA_ERROR_DOMAIN_NAME_TOO_LONG = UNKNOWN;
119/**
120 * @var int
121 * @cvalue UIDNA_ERROR_LEADING_HYPHEN
122 */
123const IDNA_ERROR_LEADING_HYPHEN = UNKNOWN;
124/**
125 * @var int
126 * @cvalue UIDNA_ERROR_TRAILING_HYPHEN
127 */
128const IDNA_ERROR_TRAILING_HYPHEN = UNKNOWN;
129/**
130 * @var int
131 * @cvalue UIDNA_ERROR_HYPHEN_3_4
132 */
133const IDNA_ERROR_HYPHEN_3_4 = UNKNOWN;
134/**
135 * @var int
136 * @cvalue UIDNA_ERROR_LEADING_COMBINING_MARK
137 */
138const IDNA_ERROR_LEADING_COMBINING_MARK = UNKNOWN;
139/**
140 * @var int
141 * @cvalue UIDNA_ERROR_DISALLOWED
142 */
143const IDNA_ERROR_DISALLOWED = UNKNOWN;
144/**
145 * @var int
146 * @cvalue UIDNA_ERROR_PUNYCODE
147 */
148const IDNA_ERROR_PUNYCODE = UNKNOWN;
149/**
150 * @var int
151 * @cvalue UIDNA_ERROR_LABEL_HAS_DOT
152 */
153const IDNA_ERROR_LABEL_HAS_DOT = UNKNOWN;
154/**
155 * @var int
156 * @cvalue UIDNA_ERROR_INVALID_ACE_LABEL
157 */
158const IDNA_ERROR_INVALID_ACE_LABEL = UNKNOWN;
159/**
160 * @var int
161 * @cvalue UIDNA_ERROR_BIDI
162 */
163const IDNA_ERROR_BIDI = UNKNOWN;
164/**
165 * @var int
166 * @cvalue UIDNA_ERROR_CONTEXTJ
167 */
168const IDNA_ERROR_CONTEXTJ = UNKNOWN;
169
170class IntlException extends Exception
171{
172}
173
174/* calendar */
175
176/** @param IntlTimeZone|DateTimeZone|string|null $timezone */
177function intlcal_create_instance($timezone = null, ?string $locale = null): ?IntlCalendar {}
178
179function intlcal_get_keyword_values_for_locale(string $keyword, string $locale, bool $onlyCommon): IntlIterator|false {}
180
181function intlcal_get_now(): float {}
182
183/**
184 * @return array<int, string>
185 * @refcount 1
186 */
187function intlcal_get_available_locales(): array {}
188
189function intlcal_get(IntlCalendar $calendar, int $field): int|false {}
190
191function intlcal_get_time(IntlCalendar $calendar): float|false {}
192
193function intlcal_set_time(IntlCalendar $calendar, float $timestamp): bool {}
194
195function intlcal_add(IntlCalendar $calendar, int $field, int $value): bool {}
196
197/** @param IntlTimeZone|DateTimeZone|string|null $timezone */
198function intlcal_set_time_zone(IntlCalendar $calendar, $timezone): bool {}
199
200function intlcal_after(IntlCalendar $calendar, IntlCalendar $other): bool {}
201
202function intlcal_before(IntlCalendar $calendar, IntlCalendar $other): bool {}
203
204function intlcal_set(IntlCalendar $calendar, int $year, int $month, int $dayOfMonth = UNKNOWN, int $hour = UNKNOWN, int $minute = UNKNOWN, int $second = UNKNOWN): bool {}
205
206/** @param int|bool $value */
207function intlcal_roll(IntlCalendar $calendar, int $field, $value): bool {}
208
209function intlcal_clear(IntlCalendar $calendar, ?int $field = null): bool {}
210
211function intlcal_field_difference(IntlCalendar $calendar, float $timestamp, int $field): int|false {}
212
213function intlcal_get_actual_maximum(IntlCalendar $calendar, int $field): int|false {}
214
215function intlcal_get_actual_minimum(IntlCalendar $calendar, int $field): int|false {}
216
217function intlcal_get_day_of_week_type(IntlCalendar $calendar, int $dayOfWeek): int|false {}
218
219function intlcal_get_first_day_of_week(IntlCalendar $calendar): int|false {}
220
221function intlcal_get_least_maximum(IntlCalendar $calendar, int $field): int|false {}
222
223function intlcal_get_greatest_minimum(IntlCalendar $calendar, int $field): int|false {}
224
225function intlcal_get_locale(IntlCalendar $calendar, int $type): string|false {}
226
227function intlcal_get_maximum(IntlCalendar $calendar, int $field): int|false {}
228
229function intlcal_get_minimal_days_in_first_week(IntlCalendar $calendar): int|false {}
230
231function intlcal_set_minimal_days_in_first_week(IntlCalendar $calendar, int $days): bool {}
232
233function intlcal_get_minimum(IntlCalendar $calendar, int $field): int|false {}
234
235function intlcal_get_time_zone(IntlCalendar $calendar): IntlTimeZone|false {}
236
237function intlcal_get_type(IntlCalendar $calendar): string {}
238
239function intlcal_get_weekend_transition(IntlCalendar $calendar, int $dayOfWeek): int|false {}
240
241function intlcal_in_daylight_time(IntlCalendar $calendar): bool {}
242
243function intlcal_is_lenient(IntlCalendar $calendar): bool {}
244
245function intlcal_is_set(IntlCalendar $calendar, int $field): bool {}
246
247function intlcal_is_equivalent_to(IntlCalendar $calendar, IntlCalendar $other): bool {}
248
249function intlcal_is_weekend(IntlCalendar $calendar, ?float $timestamp = null): bool {}
250
251function intlcal_set_first_day_of_week(IntlCalendar $calendar, int $dayOfWeek): bool {}
252
253function intlcal_set_lenient(IntlCalendar $calendar, bool $lenient): bool {}
254
255function intlcal_get_repeated_wall_time_option(IntlCalendar $calendar): int {}
256
257function intlcal_equals(IntlCalendar $calendar, IntlCalendar $other): bool {}
258
259function intlcal_get_skipped_wall_time_option(IntlCalendar $calendar): int {}
260
261function intlcal_set_repeated_wall_time_option(IntlCalendar $calendar, int $option): bool {}
262
263function intlcal_set_skipped_wall_time_option(IntlCalendar $calendar, int $option): bool {}
264
265function intlcal_from_date_time(DateTime|string $datetime, ?string $locale = null): ?IntlCalendar {}
266
267function intlcal_to_date_time(IntlCalendar $calendar): DateTime|false {}
268
269function intlcal_get_error_code(IntlCalendar $calendar): int|false {}
270
271function intlcal_get_error_message(IntlCalendar $calendar): string|false {}
272
273/**
274 * @param DateTimeZone|IntlTimeZone|string|int|null $timezoneOrYear
275 * @param string|int|null $localeOrMonth
276 * @param int $day
277 * @param int $hour
278 * @param int $minute
279 * @param int $second
280 */
281function intlgregcal_create_instance($timezoneOrYear = UNKNOWN, $localeOrMonth = UNKNOWN, $day = UNKNOWN, $hour = UNKNOWN, $minute = UNKNOWN, $second = UNKNOWN): ?IntlGregorianCalendar {}
282
283function intlgregcal_set_gregorian_change(IntlGregorianCalendar $calendar, float $timestamp): bool {}
284
285function intlgregcal_get_gregorian_change(IntlGregorianCalendar $calendar): float {}
286
287function intlgregcal_is_leap_year(IntlGregorianCalendar $calendar, int $year): bool {}
288
289/* collator */
290
291function collator_create(string $locale): ?Collator {}
292
293function collator_compare(Collator $object, string $string1, string $string2): int|false {}
294
295function collator_get_attribute(Collator $object, int $attribute): int|false {}
296
297function collator_set_attribute(Collator $object, int $attribute, int $value): bool {}
298
299function collator_get_strength(Collator $object): int {}
300
301function collator_set_strength(Collator $object, int $strength): bool {}
302
303function collator_sort(Collator $object, array &$array, int $flags = Collator::SORT_REGULAR): bool {}
304
305function collator_sort_with_sort_keys(Collator $object, array &$array): bool {}
306
307function collator_asort(Collator $object, array &$array, int $flags = Collator::SORT_REGULAR): bool {}
308
309function collator_get_locale(Collator $object, int $type): string|false {}
310
311function collator_get_error_code(Collator $object): int|false {}
312
313function collator_get_error_message(Collator $object): string|false {}
314
315function collator_get_sort_key(Collator $object, string $string): string|false {}
316
317/* common */
318
319function intl_get_error_code(): int {}
320
321function intl_get_error_message(): string {}
322
323function intl_is_failure(int $errorCode): bool {}
324
325function intl_error_name(int $errorCode): string {}
326
327/* dateformat */
328
329/** @param IntlTimeZone|DateTimeZone|string|null $timezone */
330function datefmt_create(
331    ?string $locale,
332    int $dateType = IntlDateFormatter::FULL,
333    int $timeType = IntlDateFormatter::FULL,
334    $timezone = null,
335    IntlCalendar|int|null $calendar = null,
336    ?string $pattern = null
337): ?IntlDateFormatter {}
338
339function datefmt_get_datetype(IntlDateFormatter $formatter): int|false {}
340
341function datefmt_get_timetype(IntlDateFormatter $formatter): int|false {}
342
343function datefmt_get_calendar(IntlDateFormatter $formatter): int|false {}
344
345function datefmt_set_calendar(IntlDateFormatter $formatter, IntlCalendar|int|null $calendar): bool {}
346
347function datefmt_get_timezone_id(IntlDateFormatter $formatter): string|false {}
348
349function datefmt_get_calendar_object(IntlDateFormatter $formatter): IntlCalendar|false|null {}
350
351function datefmt_get_timezone(IntlDateFormatter $formatter): IntlTimeZone|false {}
352
353/** @param IntlTimeZone|DateTimeZone|string|null $timezone */
354function datefmt_set_timezone(IntlDateFormatter $formatter, $timezone): ?bool {}
355
356function datefmt_set_pattern(IntlDateFormatter $formatter, string $pattern): bool {}
357
358function datefmt_get_pattern(IntlDateFormatter $formatter): string|false {}
359
360function datefmt_get_locale(IntlDateFormatter $formatter, int $type = ULOC_ACTUAL_LOCALE): string|false {}
361
362function datefmt_set_lenient(IntlDateFormatter $formatter, bool $lenient): void {}
363
364function datefmt_is_lenient(IntlDateFormatter $formatter): bool {}
365
366/** @param IntlCalendar|DateTimeInterface|array|string|int|float $datetime */
367function datefmt_format(IntlDateFormatter $formatter, $datetime): string|false {}
368
369/**
370 * @param IntlCalendar|DateTimeInterface $datetime
371 * @param array|int|string|null $format
372 */
373function datefmt_format_object($datetime, $format = null, ?string $locale = null): string|false {}
374
375/** @param int $offset */
376function datefmt_parse(IntlDateFormatter $formatter, string $string, &$offset = null): int|float|false {}
377
378/**
379 * @param int $offset
380 * @return array<string, int>|false
381 * @refcount 1
382 */
383function datefmt_localtime(IntlDateFormatter $formatter, string $string, &$offset = null): array|false {}
384
385function datefmt_get_error_code(IntlDateFormatter $formatter): int {}
386
387function datefmt_get_error_message(IntlDateFormatter $formatter): string {}
388
389/* formatter */
390
391function numfmt_create(string $locale, int $style, ?string $pattern = null): ?NumberFormatter {}
392
393function numfmt_format(NumberFormatter $formatter, int|float $num, int $type = NumberFormatter::TYPE_DEFAULT): string|false {}
394
395/** @param int $offset */
396function numfmt_parse(NumberFormatter $formatter, string $string, int $type = NumberFormatter::TYPE_DOUBLE, &$offset = null): int|float|false {}
397
398function numfmt_format_currency(NumberFormatter $formatter, float $amount, string $currency): string|false {}
399
400/**
401 * @param string $currency
402 * @param int $offset
403 */
404function numfmt_parse_currency(NumberFormatter $formatter, string $string, &$currency, &$offset = null): float|false {}
405
406function numfmt_set_attribute(NumberFormatter $formatter, int $attribute, int|float $value): bool {}
407
408function numfmt_get_attribute(NumberFormatter $formatter, int $attribute): int|float|false {}
409
410function numfmt_set_text_attribute(NumberFormatter $formatter, int $attribute, string $value): bool {}
411
412function numfmt_get_text_attribute(NumberFormatter $formatter, int $attribute): string|false {}
413
414function numfmt_set_symbol(NumberFormatter $formatter, int $symbol, string $value): bool {}
415
416function numfmt_get_symbol(NumberFormatter $formatter, int $symbol): string|false {}
417
418function numfmt_set_pattern(NumberFormatter $formatter, string $pattern): bool {}
419
420function numfmt_get_pattern(NumberFormatter $formatter): string|false {}
421
422function numfmt_get_locale(NumberFormatter $formatter, int $type = ULOC_ACTUAL_LOCALE): string|false {}
423
424function numfmt_get_error_code(NumberFormatter $formatter): int {}
425
426function numfmt_get_error_message(NumberFormatter $formatter): string {}
427
428/* grapheme */
429
430function grapheme_strlen(string $string): int|false|null {}
431
432function grapheme_strpos(string $haystack, string $needle, int $offset = 0): int|false {}
433
434function grapheme_stripos(string $haystack, string $needle, int $offset = 0): int|false {}
435
436function grapheme_strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
437
438function grapheme_strripos(string $haystack, string $needle, int $offset = 0): int|false {}
439
440function grapheme_substr(string $string, int $offset, ?int $length = null): string|false {}
441
442function grapheme_strstr(string $haystack, string $needle, bool $beforeNeedle = false): string|false {}
443
444function grapheme_stristr(string $haystack, string $needle, bool $beforeNeedle = false): string|false {}
445
446/** @param int $next */
447function grapheme_extract(string $haystack, int $size, int $type = GRAPHEME_EXTR_COUNT, int $offset = 0, &$next = null): string|false {}
448
449/* idn */
450
451/** @param array $idna_info */
452function idn_to_ascii(string $domain, int $flags = IDNA_DEFAULT, int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false {}
453
454/** @param array $idna_info */
455function idn_to_utf8(string $domain, int $flags = IDNA_DEFAULT, int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false {}
456
457/* locale */
458
459
460function locale_get_default(): string {}
461
462function locale_set_default(string $locale): bool {}
463
464function locale_get_primary_language(string $locale): ?string {}
465
466function locale_get_script(string $locale): ?string {}
467
468function locale_get_region(string $locale): ?string {}
469
470/**
471 * @return array<string, string>|false|null
472 * @refcount 1
473 */
474function locale_get_keywords(string $locale): array|false|null {}
475
476function locale_get_display_script(string $locale, ?string $displayLocale = null): string|false {}
477
478function locale_get_display_region(string $locale, ?string $displayLocale = null): string|false {}
479
480function locale_get_display_name(string $locale, ?string $displayLocale = null): string|false {}
481
482function locale_get_display_language(string $locale, ?string $displayLocale = null): string|false {}
483
484function locale_get_display_variant(string $locale, ?string $displayLocale = null): string|false {}
485
486function locale_compose(array $subtags): string|false {}
487
488function locale_parse(string $locale): ?array {}
489
490function locale_get_all_variants(string $locale): ?array {}
491
492function locale_filter_matches(string $languageTag, string $locale, bool $canonicalize = false): ?bool {}
493
494function locale_canonicalize(string $locale): ?string {}
495
496function locale_lookup(array $languageTag, string $locale, bool $canonicalize = false, ?string $defaultLocale = null): ?string {}
497
498function locale_accept_from_http(string $header): string|false {}
499
500/* msgformat */
501
502function msgfmt_create(string $locale, string $pattern): ?MessageFormatter {}
503
504function msgfmt_format(MessageFormatter $formatter, array $values): string|false {}
505
506function msgfmt_format_message(string $locale, string $pattern, array $values): string|false {}
507
508/**
509 * @return array<int, int|float|string>|false
510 * @refcount 1
511 */
512function msgfmt_parse(MessageFormatter $formatter, string $string): array|false {}
513
514/**
515 * @return array<int, int|float|string>|false
516 * @refcount 1
517 */
518function msgfmt_parse_message(string $locale, string $pattern, string $message): array|false {}
519
520function msgfmt_set_pattern(MessageFormatter $formatter, string $pattern): bool {}
521
522function msgfmt_get_pattern(MessageFormatter $formatter): string|false {}
523
524function msgfmt_get_locale(MessageFormatter $formatter): string {}
525
526function msgfmt_get_error_code(MessageFormatter $formatter): int {}
527
528function msgfmt_get_error_message(MessageFormatter $formatter): string {}
529
530/* normalizer */
531
532function normalizer_normalize(string $string, int $form = Normalizer::FORM_C): string|false {}
533
534function normalizer_is_normalized(string $string, int $form = Normalizer::FORM_C): bool {}
535
536#if U_ICU_VERSION_MAJOR_NUM >= 56
537function normalizer_get_raw_decomposition(string $string, int $form = Normalizer::FORM_C): ?string {}
538#endif
539
540/* resourceboundle */
541
542function resourcebundle_create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle {}
543
544/** @param string|int $index */
545function resourcebundle_get(ResourceBundle $bundle, $index, bool $fallback = true): mixed {}
546
547function resourcebundle_count(ResourceBundle $bundle): int {}
548
549/**
550 * @return array<int, string>|false
551 * @refcount 1
552 */
553function resourcebundle_locales(string $bundle): array|false {}
554
555function resourcebundle_get_error_code(ResourceBundle $bundle): int {}
556
557function resourcebundle_get_error_message(ResourceBundle $bundle): string {}
558
559/* timezone */
560
561function intltz_count_equivalent_ids(string $timezoneId): int|false {}
562
563function intltz_create_default(): IntlTimeZone {}
564
565/** @param IntlTimeZone|string|int|float|null $countryOrRawOffset */
566function intltz_create_enumeration($countryOrRawOffset = null): IntlIterator|false {}
567
568function intltz_create_time_zone(string $timezoneId): ?IntlTimeZone {}
569
570function intltz_create_time_zone_id_enumeration(int $type, ?string $region = null, ?int $rawOffset = null): IntlIterator|false {}
571
572function intltz_from_date_time_zone(DateTimeZone $timezone): ?IntlTimeZone {}
573
574/** @param bool $isSystemId */
575function intltz_get_canonical_id(string $timezoneId, &$isSystemId = null): string|false {}
576
577function intltz_get_display_name(IntlTimeZone $timezone, bool $dst = false, int $style = IntlTimeZone::DISPLAY_LONG, ?string $locale = null): string|false {}
578
579function intltz_get_dst_savings(IntlTimeZone $timezone): int {}
580
581function intltz_get_equivalent_id(string $timezoneId, int $offset): string|false {}
582
583function intltz_get_error_code(IntlTimeZone $timezone): int|false {}
584
585function intltz_get_error_message(IntlTimeZone $timezone): string|false {}
586
587function intltz_get_gmt(): IntlTimeZone {}
588
589function intltz_get_id(IntlTimeZone $timezone): string|false {}
590
591/**
592 * @param int $rawOffset
593 * @param int $dstOffset
594 */
595function intltz_get_offset(IntlTimeZone $timezone, float $timestamp, bool $local, &$rawOffset, &$dstOffset): bool {}
596
597function intltz_get_raw_offset(IntlTimeZone $timezone): int {}
598
599function intltz_get_region(string $timezoneId): string|false {}
600
601function intltz_get_tz_data_version(): string|false {}
602
603function intltz_get_unknown(): IntlTimeZone {}
604
605#if U_ICU_VERSION_MAJOR_NUM >= 52
606function intltz_get_windows_id(string $timezoneId): string|false {}
607
608function intltz_get_id_for_windows_id(string $timezoneId, ?string $region = null): string|false {}
609#endif
610
611function intltz_has_same_rules(IntlTimeZone $timezone, IntlTimeZone $other): bool {}
612
613function intltz_to_date_time_zone(IntlTimeZone $timezone): DateTimeZone|false {}
614
615function intltz_use_daylight_time(IntlTimeZone $timezone): bool {}
616
617/* transliterator */
618
619function transliterator_create(string $id, int $direction = Transliterator::FORWARD): ?Transliterator {}
620
621function transliterator_create_from_rules(string $rules, int $direction = Transliterator::FORWARD): ?Transliterator {}
622
623/**
624 * @return array<int, string>|false
625 * @refcount 1
626 */
627function transliterator_list_ids(): array|false {}
628
629function transliterator_create_inverse(Transliterator $transliterator): ?Transliterator {}
630
631function transliterator_transliterate(Transliterator|string $transliterator, string $string, int $start = 0, int $end = -1): string|false {}
632
633function transliterator_get_error_code(Transliterator $transliterator): int|false {}
634
635function transliterator_get_error_message(Transliterator $transliterator): string|false {}
636