import { LocalizeFunction } from './interfaces/functions.interfaces';
import { LocalizeExtraDictionary } from './interfaces/dictionary.interfaces';
import { LocalizeParams } from './interfaces/options.interfaces';
import { LocalizeMissingHandler } from './handlers/missing.handler';
import { LocalizeConfig } from './interfaces/config.interfaces';
import { LocalizeDictionary } from './localize.dictionary';
import { Storage } from '@bravobit/bb-foundation/storage';
import { Languages } from '@bravobit/bb-foundation';
import { HttpClient } from '@angular/common/http';
export declare class Localize {
    private _http;
    private _storage;
    private _languages;
    private _config;
    private _missingHandler;
    private _functions;
    private _extras;
    private readonly _dictionaries;
    private readonly _currentDictionary;
    private readonly _functionMiddleware;
    private readonly _storageToken;
    constructor(_http: HttpClient, _storage: Storage, _languages: Languages, _config: LocalizeConfig, _missingHandler: LocalizeMissingHandler, _functions: LocalizeFunction[], _extras: LocalizeExtraDictionary[]);
    readonly dictionaries: LocalizeDictionary[];
    readonly current: LocalizeDictionary;
    readonly locale: string;
    initialize(): () => Promise<LocalizeDictionary>;
    change(id: string, reload?: boolean): void;
    clear(reload?: boolean): void;
    translate(tokenOrParams: string | LocalizeParams): any;
    private parseInterpolationData;
    private interpolateFunctionData;
    private findReferencesInTranslation;
    private getSubstitutions;
    private retrieveBestMatchingDictionary;
    private getDictionaryFromStorage;
    private getBestBrowserMatchDictionary;
    private convertToParams;
    private load;
    private getMatches;
    private reload;
}
