import { DatePipe } from '@angular/common';
import { Provider } from '@angular/core';
import { LoggerService } from '../core/util/logger/logger.service';
import { NzI18nInterface } from './nz-i18n.interface';
export declare class NzI18nService {
    private _logger;
    private datePipe;
    private _locale;
    constructor(locale: NzI18nInterface, _logger: LoggerService, datePipe: DatePipe);
    translate(path: string, data?: any): string;
    /**
     * Set/Change current locale globally throughout the WHOLE application
     * [NOTE] If called at runtime, rendered interface may not change along with the locale change (because this do not trigger another render schedule)
     * @param locale The translating letters
     */
    setLocale(locale: NzI18nInterface): void;
    getLocale(): NzI18nInterface;
    formatDate(date: Date, format: string): string;
    private _getObjectPath(obj, path);
}
export declare function NZ_LOCALE_SERVICE_PROVIDER_FACTORY(exist: NzI18nService, locale: NzI18nInterface, logger: LoggerService, datePipe: DatePipe): NzI18nService;
export declare const NZ_I18N_SERVICE_PROVIDER: Provider;
