/**
 * The invariant locale. This is the default locale.
 */
export declare const INVARIANT = "inv";
/**
 * Gets the current locale.
 */
export declare function get(): string;
/**
 * Sets the locale.
 *
 * @param locale The locale to set.
 */
export declare function set(locale: string): void;
/**
 * Returns the user's locale as detected by the browser.
 */
export declare function detectLocale(): string;
/**
 * Gets the matching locales for the given locale, from most specific to least
 * specific. For example, the input `"zh-Hans-CN"` would produce `["zh-Hans-CN",
 * "zh-Hans", "zh-CN", "zh", "inv"]`.
 *
 * @param locale The locale value to convert.
 */
export declare function getMatchingLocales(locale: string): string[];
/**
 * Result of calling {@link parseLocale}.
 */
export interface LocaleResult {
    /**
     * The language component, e.g. "es".
     */
    language: string;
    /**
     * The territory, e.g. "CA" in "en-CA".
     */
    territory?: string;
    /**
     * The script (alphabet), e.g "Hans".
     */
    script?: string;
}
/**
 * Parses a locale code into its component parts.
 *
 * @param locale The locale code to parse.
 */
export declare function parseLocale(locale: string): LocaleResult;
