import { LocalizationProvider } from '@theia/core/lib/node/i18n/localization-provider';
import { DeployedPlugin, PluginIdentifiers } from '../../common';
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
import { BackendApplicationContribution } from '@theia/core/lib/node';
import { Disposable, MaybePromise } from '@theia/core';
import { Deferred } from '@theia/core/lib/common/promise-util';
export interface VSCodeNlsConfig {
    locale: string;
    availableLanguages: Record<string, string>;
    _languagePackSupport?: boolean;
    _languagePackId?: string;
    _translationsConfigFile?: string;
    _cacheRoot?: string;
    _corruptedFile?: string;
}
export declare class HostedPluginLocalizationService implements BackendApplicationContribution {
    protected readonly localizationProvider: LocalizationProvider;
    protected readonly envVariables: EnvVariablesServer;
    protected localizationDisposeMap: Map<string, Disposable>;
    protected translationConfigFiles: Map<string, string>;
    protected readonly _ready: Deferred<void>;
    /**
     * This promise resolves when the cache has been cleaned up after starting the backend server.
     * Once resolved, the service allows to cache localization files for plugins.
     */
    ready: Promise<void>;
    initialize(): MaybePromise<void>;
    deployLocalizations(plugin: DeployedPlugin): void;
    undeployLocalizations(plugin: PluginIdentifiers.VersionedId): void;
    localizePlugin(plugin: DeployedPlugin): Promise<DeployedPlugin>;
    getNlsConfig(): VSCodeNlsConfig;
    buildTranslationConfig(plugins: DeployedPlugin[]): Promise<void>;
    protected getLocalizationCacheDir(): Promise<string>;
}
//# sourceMappingURL=hosted-plugin-localization-service.d.ts.map