declare module 'discourse-i18n' {
export class I18n {
    defaultLocale: string;
    locale: any;
    fallbackLocale: any;
    translations: any;
    extras: {};
    noFallbacks: boolean;
    testing: boolean;
    verbose: boolean;
    verboseIndices: Map<any, any>;
    pluralizationRules: typeof Cardinals;
    translate: (scope: any, options: any) => any;
    t: (scope: any, options: any) => any;
    currentLocale(): any;
    get currentBcp47Locale(): any;
    get pluralizationNormalizedLocale(): any;
    enableVerboseLocalization(): void;
    enableVerboseLocalizationSession(): string;
    disableVerboseLocalizationSession(): string;
    _translate(scope: any, options: any): any;
    toNumber(number: any, options: any): string;
    toHumanSize(number: any, options: any): any;
    pluralize(translation: any, scope: any, options: any): any;
    pluralizer(locale: any): any;
    listJoiner(listOfStrings: any, delimiter: any): any;
    interpolate(message: any, options: any, scope: any): any;
    /**
     * Extract the placeholders from the translated string before interpolation.
     *
     * @param {String} message The translated string.
     *
     * @returns {Map<String, Array<String>>} A Map keyed by the placeholder name, with the value set to
     * how the placeholder appears in the string. If it appears multiple times, each instance will be
     * recorded (eg, "foo" => ["%{foo}", "{{foo}}"]).
     */
    findPlaceholders(message: string): Map<string, Array<string>>;
    findTranslation(scope: any, options: any): any;
    /**
     * Given the current options (and if fallback is enabled), find the translation
     * for the given scope.
     *
     * @param {String} scope The reference for the translatable string.
     * @param {Object} options Custom options for this string.
     *
     * @returns {Array<String>|String} The translated string, or array of strings for pluralizable translations.
     */
    findTranslationWithFallback(scope: string, options: any): Array<string> | string;
    findAndTranslateValidNode(keys: any, translation: any): any;
    lookup(scope: any, options?: {}): any;
    missingTranslation(scope: any, key: any, options: any): string;
    prepareOptions(...args: any[]): {};
    isValidNode(obj: any, node: any): boolean;
    messageFormat(key: any, options: any): any;
    _verboseTranslate(scope: any, options: any): string;
    loadData(): void;
    _overrides: any;
    _mfMessages: Messages;
    #private;
}
export class I18nMissingInterpolationArgument extends Error {
    constructor(message: any);
}
export default I18nInstance;
export function i18n(scope: any, options: any): any;
import * as Cardinals from "make-plural/cardinals";
import Messages from "@messageformat/runtime/messages";
declare const I18nInstance: I18n;
//# sourceMappingURL=index.d.ts.map
}