1export type Localization = {
2    /**
3     * Three-character ISO 4217 currency code. Returns `null` on web.
4     *
5     * @example `'USD'`, `'EUR'`, `'CNY'`, `null`
6     */
7    currency: string | null;
8    /**
9     * Decimal separator used for formatting numbers.
10     *
11     * @example `','`, `'.'`
12     */
13    decimalSeparator: string;
14    /**
15     * Digit grouping separator used when formatting numbers larger than 1000.
16     *
17     * @example `'.'`, `''`, `','`
18     */
19    digitGroupingSeparator: string;
20    /**
21     * A list of all the supported language ISO codes.
22     */
23    isoCurrencyCodes: string[];
24    /**
25     * Boolean value that indicates whether the system uses the metric system.
26     * On Android and web, this is inferred from the current region.
27     */
28    isMetric: boolean;
29    /**
30     * Returns if the system's language is written from Right-to-Left.
31     * This can be used to build features like [bidirectional icons](https://material.io/design/usability/bidirectionality.html).
32     *
33     * Returns `false` in Server Side Rendering (SSR) environments.
34     */
35    isRTL: boolean;
36    /**
37     * An [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag),
38     * consisting of a two-character language code and optional script, region and variant codes.
39     *
40     * @example `'en'`, `'en-US'`, `'zh-Hans'`, `'zh-Hans-CN'`, `'en-emodeng'`
41     */
42    locale: string;
43    /**
44     * List of all the native languages provided by the user settings.
45     * These are returned in the order that the user defined in the device settings.
46     *
47     * @example `['en', 'en-US', 'zh-Hans', 'zh-Hans-CN', 'en-emodeng']`
48     */
49    locales: string[];
50    /**
51     * The region code for your device that comes from the Region setting under Language & Region on iOS.
52     * This value is always available on iOS, but might return `null` on Android or web.
53     *
54     * @example `'US'`, `'NZ'`, `null`
55     */
56    region: string | null;
57    /**
58     * The current time zone in display format.
59     * On Web time zone is calculated with Intl.DateTimeFormat().resolvedOptions().timeZone. For a
60     * better estimation you could use the moment-timezone package but it will add significant bloat to
61     * your website's bundle size.
62     *
63     * @example `'America/Los_Angeles'`
64     */
65    timezone: string;
66};
67export type Locale = {
68    /**
69     * An [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) with a region code.
70     * @example `'en-US'`, `'es-419'`, `'pl-PL'`.
71     */
72    languageTag: string;
73    /**
74     * An [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) without the region code.
75     * @example `'en'`, `'es'`, `'pl'`.
76     */
77    languageCode: string;
78    /**
79     * The region code for your device that comes from the Region setting under Language & Region on iOS, Region settings on Android and is parsed from locale on Web (can be `null` on Web).
80     */
81    regionCode: string | null;
82    /**
83     * Currency code for the locale.
84     * Is `null` on Web, use a table lookup based on region instead.
85     * @example `'USD'`, `'EUR'`, `'PLN'`.
86     */
87    currencyCode: string | null;
88    /**
89     * Currency symbol for the locale.
90     * Is `null` on Web, use a table lookup based on region (if available) instead.
91     * @example `'$'`, `'€'`, `'zł'`.
92     */
93    currencySymbol: string | null;
94    /**
95     * Decimal separator used for formatting numbers with fractional parts.
96     * @example `'.'`, `','`.
97     */
98    decimalSeparator: string | null;
99    /**
100     * Digit grouping separator used for formatting large numbers.
101     * @example `'.'`, `','`.
102     */
103    digitGroupingSeparator: string | null;
104    /**
105     * Text direction for the locale. One of: `'ltr'`, `'rtl'`, but can also be `null` on some browsers without support for the [textInfo](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/textInfo) property in [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) API.
106     */
107    textDirection: 'ltr' | 'rtl' | null;
108    /**
109     * The measurement system used in the locale.
110     * Is `null` on Web, as user chosen measurement system is not exposed on the web and using locale to determine measurement systems is unreliable.
111     * Ask for user preferences if possible.
112     */
113    measurementSystem: `metric` | `us` | `uk` | null;
114    /**
115     * The temperature unit used in the locale.
116     * Returns `null` if the region code is unknown.
117     */
118    temperatureUnit: 'celsius' | 'fahrenheit' | null;
119};
120/**
121 * An enum mapping days of the week in Gregorian calendar to their index as returned by the `firstWeekday` property.
122 */
123export declare enum Weekday {
124    SUNDAY = 1,
125    MONDAY = 2,
126    TUESDAY = 3,
127    WEDNESDAY = 4,
128    THURSDAY = 5,
129    FRIDAY = 6,
130    SATURDAY = 7
131}
132/**
133 * The calendar identifier, one of [Unicode calendar types](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/calendar).
134 * Gregorian calendar is aliased and can be referred to as both `CalendarIdentifier.GREGORIAN` and `CalendarIdentifier.GREGORY`.
135 */
136export declare enum CalendarIdentifier {
137    /** Thai Buddhist calendar */
138    BUDDHIST = "buddhist",
139    /** Traditional Chinese calendar */
140    CHINESE = "chinese",
141    /** Coptic calendar */
142    COPTIC = "coptic",
143    /** Traditional Korean calendar */
144    DANGI = "dangi",
145    /** Ethiopic calendar, Amete Alem (epoch approx. 5493 B.C.E) */
146    ETHIOAA = "ethioaa",
147    /** Ethiopic calendar, Amete Mihret (epoch approx, 8 C.E.) */
148    ETHIOPIC = "ethiopic",
149    /** Gregorian calendar */
150    GREGORY = "gregory",
151    /** Gregorian calendar (alias) */
152    GREGORIAN = "gregory",
153    /** Traditional Hebrew calendar */
154    HEBREW = "hebrew",
155    /** Indian calendar */
156    INDIAN = "indian",
157    /** Islamic calendar */
158    ISLAMIC = "islamic",
159    /** Islamic calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - civil epoch) */
160    ISLAMIC_CIVIL = "islamic-civil",
161    /** Islamic calendar, Saudi Arabia sighting */
162    ISLAMIC_RGSA = "islamic-rgsa",
163    /**Islamic calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - astronomical epoch) */
164    ISLAMIC_TBLA = "islamic-tbla",
165    /** Islamic calendar, Umm al-Qura */
166    ISLAMIC_UMALQURA = "islamic-umalqura",
167    /** ISO calendar (Gregorian calendar using the ISO 8601 calendar week rules) */
168    ISO8601 = "iso8601",
169    /** Japanese imperial calendar */
170    JAPANESE = "japanese",
171    /** Persian calendar */
172    PERSIAN = "persian",
173    /** Civil (algorithmic) Arabic calendar */
174    ROC = "roc"
175}
176export type Calendar = {
177    /**
178     * The calendar identifier, one of [Unicode calendar types](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/calendar).
179     *
180     * On Android is limited to one of device's [available calendar types](https://developer.android.com/reference/java/util/Calendar#getAvailableCalendarTypes()).
181     *
182     * On iOS uses [calendar identifiers](https://developer.apple.com/documentation/foundation/calendar/identifier), but maps them to the corresponding Unicode types, will also never contain `'dangi'` or `'islamic-rgsa'` due to it not being implemented on iOS.
183     */
184    calendar: CalendarIdentifier | null;
185    /**
186     * True when current device settings use 24 hour time format.
187     * Can be null on some browsers that don't support the [hourCycle](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle) property in [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) API.
188     */
189    uses24hourClock: boolean | null;
190    /**
191     * The first day of the week. For most calendars Sunday is numbered `1`, with Saturday being number `7`.
192     * Can be null on some browsers that don't support the [weekInfo](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/weekInfo) property in [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) API.
193     * @example `1`, `7`.
194     */
195    firstWeekday: Weekday | null;
196    /**
197     * Time zone for the calendar. Can be `null` on Web.
198     * @example `'America/Los_Angeles'`, `'Europe/Warsaw'`, `'GMT+1'`.
199     */
200    timeZone: string | null;
201};
202//# sourceMappingURL=Localization.types.d.ts.map