import { IRPCProtocol } from '@opensumi/ide-connection';
import { IExtensionLogger, Uri as URI } from '@opensumi/ide-core-common';
import { IExtensionDescription } from '../../../common/vscode';
import { IExtHostLocalization, IMainThreadLocalization, IStringDetails } from '../../../common/vscode/localization';
export declare class ExtHostLocalization implements IExtHostLocalization {
    private rpcProtocol;
    private logger;
    protected readonly proxy: IMainThreadLocalization;
    private readonly isDefaultLanguage;
    private currentLanguage;
    private readonly bundleCache;
    private whenReadyDeferred;
    constructor(rpcProtocol: IRPCProtocol, logger: IExtensionLogger);
    get whenReady(): Promise<void>;
    $setCurrentLanguage(language: string): void;
    getMessage(extensionId: string, details: IStringDetails): string;
    getBundle(extensionId: string): {
        [key: string]: string;
    } | undefined;
    getBundleUri(extensionId: string): URI | undefined;
    initializeLocalizedMessages(extension: IExtensionDescription): Promise<void>;
    private getBundleLocation;
}
export declare function createLocalizationApiFactory(extHostLocalization: IExtHostLocalization, extension: IExtensionDescription): {
    t(...params: [message: string, ...args: Array<string | number | boolean>] | [message: string, args: Record<string, any>] | [{
        message: string;
        args?: Array<string | number | boolean> | Record<string, any>;
        comment: string | string[];
    }]): string;
    readonly bundle: {
        [key: string]: string;
    } | undefined;
    readonly uri: URI | undefined;
};
//# sourceMappingURL=ext.host.localization.d.ts.map