import { Observable } from 'rxjs';
import { L10nProvider } from '../models/types';
import * as i0 from "@angular/core";
/**
 * Implement this class-interface to create a loader of translation data.
 */
export declare abstract class L10nTranslationLoader {
    /**
     * This method must contain the logic to get translation data.
     * @param language The current language
     * @param provider The provider of the translations data
     * @return An object of translation data for the language: {key: value}
     */
    abstract get(language: string, provider: L10nProvider): Observable<{
        [key: string]: any;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<L10nTranslationLoader, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<L10nTranslationLoader>;
}
export declare class L10nDefaultTranslationLoader implements L10nTranslationLoader {
    get(language: string, provider: L10nProvider): Observable<{
        [key: string]: any;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<L10nDefaultTranslationLoader, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<L10nDefaultTranslationLoader>;
}
