import { LocalizeLowercaseFunction } from './functions/lowercase.function';
import { LocalizeMissingHandler } from './handlers/missing.handler';
import { LocalizeConfig } from './interfaces/config.interfaces';
import { Localize } from './localize.service';
export declare class LocalizeModule {
    static forRoot(config: LocalizeConfig): {
        ngModule: typeof LocalizeModule;
        providers: (typeof Localize | {
            provide: import("@angular/core").InjectionToken<(() => void)[]>;
            deps: (typeof Localize)[];
            useFactory: typeof initializeLocale;
            multi: boolean;
            useValue?: undefined;
            useClass?: undefined;
        } | {
            provide: import("@angular/core").InjectionToken<string>;
            deps: (typeof Localize)[];
            useFactory: typeof getLocale;
            multi?: undefined;
            useValue?: undefined;
            useClass?: undefined;
        } | {
            provide: typeof LocalizeConfig;
            useValue: LocalizeConfig;
            deps?: undefined;
            useFactory?: undefined;
            multi?: undefined;
            useClass?: undefined;
        } | {
            provide: import("@angular/core").InjectionToken<import("./interfaces/functions.interfaces").LocalizeFunction[]>;
            useClass: typeof LocalizeLowercaseFunction;
            multi: boolean;
            deps?: undefined;
            useFactory?: undefined;
            useValue?: undefined;
        } | {
            provide: typeof LocalizeMissingHandler;
            useClass: typeof LocalizeMissingHandler;
            deps?: undefined;
            useFactory?: undefined;
            multi?: undefined;
            useValue?: undefined;
        })[];
    };
}
export declare function initializeLocale(localize: Localize): () => Promise<import("./localize.dictionary").LocalizeDictionary>;
export declare function getLocale(localize: Localize): string;
