import type { CustomTranslations, Translatable, Translations } from './types';
import type { GetTranslationOptions } from './utils';
export declare class Language {
    private readonly supportedLocales;
    readonly translations: Translations;
    readonly customTranslations: CustomTranslations;
    readonly languageCode: string;
    readonly locale: string;
    constructor({ locale, translations, customTranslations, allowedLocales, }: {
        customTranslations?: CustomTranslations;
        locale?: string;
        translations?: Translations;
        allowedLocales?: string[];
    });
    /**
     * Returns a translated string from a key in the current {@link Language.locale}
     * @returns Translated string in the user's locale
     */
    get(translatable: Translatable, translationOptions?: GetTranslationOptions): string;
    /**
     * Returns a localized string for a date
     * @param date - Date to be localized
     * @param options - Options for {@link Intl.DateTimeFormatOptions}
     */
    date(date: string, options?: Intl.DateTimeFormatOptions): string;
}
