export class Localization {
    /**
     *
     * @type {AssetManager|null}
     */
    assetManager: AssetManager | null;
    json: {};
    /**
     * @protected
     * @type {LanguageMetadata}
     */
    protected language_metadata: LanguageMetadata;
    /**
     *
     * @type {ObservedString}
     */
    locale: ObservedString;
    /**
     * In debug mode error messages are a lot more verbose and helpful
     * @type {boolean}
     */
    debug: boolean;
    /**
     * @type {Cache<Array<string>, string>}
     * @private
     */
    private __failure_cache;
    /**
     * Measured in characters per second
     * @deprecated use 'language_metadata' directly instead
     * @return {number}
     */
    get reading_speed(): number;
    /**
     * Time required to read a piece of text, in seconds
     * @param {string} text
     * @returns {number} time in seconds
     */
    estimateReadingTime(text: string): number;
    /**
     *
     * @param {AssetManager} am
     */
    setAssetManager(am: AssetManager): void;
    /**
     * @returns {boolean}
     * @param {function(key:string, error:*, original: string)} errorConsumer
     */
    validate(errorConsumer: any): boolean;
    /**
     * Request locale switch
     * Assumes a specific folder structure, each different locale is stored with its locale code as name, and there's also "languages.json" file expected to be in the folder
     * @param {string} locale
     * @param {string} path where to look for localization data
     * @returns {Promise}
     */
    loadLocale(locale: string, path?: string): Promise<any>;
    /**
     *
     * @param {number} value
     */
    formatIntegerByThousands(value: number): string;
    /**
     *
     * @param {string} id
     * @param {Object} seed
     * @private
     */
    private __debugMissingKey;
    /**
     * Get a localized string by a key
     * @param {string} key
     * @param {object} [seed]
     *
     * @returns {string}
     */
    getString(key: string, seed?: object): string;
    /**
     * Does a given key exist?
     * @param {string} key
     * @return {boolean}
     */
    hasString(key: string): boolean;
}
import { LanguageMetadata } from "./LanguageMetadata.js";
import ObservedString from "../model/ObservedString.js";
//# sourceMappingURL=Localization.d.ts.map