import ObjectPath from "@re-flex/object-path";
export declare type I18nHttpRule = {
    path: string;
    headers?: Headers;
};
declare type AnyObject = {
    [k: string]: any;
};
export declare type I18nInit = {
    httpConfig?: I18nHttpRule;
    resources?: AnyObject;
    languages?: string[];
    namespaces?: string[];
    initialLanguage?: string;
};
declare class I18nCore {
    updater?: () => void;
    private httpConfig?;
    browserLanguage: string;
    initialLanguage: string;
    currentLanguage: string;
    resources: ObjectPath<AnyObject>;
    private languages?;
    private namespaces?;
    constructor();
    private httpBackendAdapter;
    init(config: I18nInit): void;
    onLoadNamepaces(cb: (err?: Error) => void): void;
    onChangeLanguage(cb: (err?: Error) => void): void;
    changeLanguage(lang: string): void;
    translate(path: string, rObject?: AnyObject): string;
}
export declare type I18nType = I18nCore & {};
export declare const I18n: I18nCore;
export {};
