import { ModuleWithProviders, Provider, EnvironmentProviders } from '@angular/core';
import { EasyI18nOptions } from 'easy-i18n-js';
import * as i0 from "@angular/core";
import * as i1 from "./lib/locale-date.pipe";
import * as i2 from "./lib/locale-number.pipe";
import * as i3 from "./lib/tr.directive";
import * as i4 from "./lib/tr.pipe";
import * as i5 from "./lib/plural.pipe";
import * as i6 from "./lib/plural.directive";
import * as i7 from "./lib/locale-percent.pipe";
import * as i8 from "./lib/locale-currency.pipe";
import * as i9 from "./lib/plural-content.directive";
import * as i10 from "./lib/tr-content.directive";
export * from './lib/locale-date.pipe';
export * from './lib/locale-number.pipe';
export * from './lib/locale-percent.pipe';
export * from './lib/locale-currency.pipe';
export * from './lib/tr.pipe';
export * from './lib/plural.pipe';
export * from './lib/tr.directive';
export * from './lib/tr-content.directive';
export * from './lib/plural.directive';
export * from './lib/plural-content.directive';
export * from './lib/easy-i18n.loader';
export * from './lib/easy-i18n.store';
export * from './lib/easy-i18n.service';
export interface EasyI18nModuleConfig {
    /**
     * Options fo easy i18 js library
     */
    options?: EasyI18nOptions;
    /**
     * Use specific loader
     */
    loader?: Provider;
    /**
     * Use specific store
     */
    store?: Provider;
    /**
     * Use specific loader
     */
    ngLocales?: {
        [key: string]: any;
    };
    /**
     * Use browser language
     */
    useBrowserLanguage?: boolean;
    /**
     * Default language use if no use browser language
     */
    defaultLanguage?: string;
    /**
     * Fallback language use if current language not found
     */
    fallbackLanguage?: string;
    /**
     * <code>exact</code> only fr-FR, <code>minimum</code> only fr, <code>all</code> fr-FR and fr
     */
    discover?: 'exact' | 'minimum' | 'all';
}
export declare class EasyI18nModule {
    /**
     * Use this method in your root module to provide the EasyI18nService
     */
    static forRoot(config: EasyI18nModuleConfig): ModuleWithProviders<EasyI18nModule>;
    static ɵfac: i0.ɵɵFactoryDeclaration<EasyI18nModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<EasyI18nModule, never, [typeof i1.LocaleDatePipe, typeof i2.LocaleNumberPipe, typeof i3.TrDirective, typeof i4.TrPipe, typeof i5.PluralPipe, typeof i6.PluralDirective, typeof i7.LocalePercentPipe, typeof i8.LocaleCurrencyPipe, typeof i9.PluralElementDirective, typeof i9.PluralContentDirective, typeof i10.TrElementDirective, typeof i10.TrContentDirective], [typeof i1.LocaleDatePipe, typeof i2.LocaleNumberPipe, typeof i3.TrDirective, typeof i4.TrPipe, typeof i5.PluralPipe, typeof i6.PluralDirective, typeof i7.LocalePercentPipe, typeof i8.LocaleCurrencyPipe, typeof i9.PluralElementDirective, typeof i9.PluralContentDirective, typeof i10.TrElementDirective, typeof i10.TrContentDirective]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<EasyI18nModule>;
}
export declare function provideEasyI18n(config: EasyI18nModuleConfig): Array<Provider | EnvironmentProviders>;
