import { TranslateCompiler } from "@ngx-translate/core";
import { MessageFunction } from "@messageformat/core";
import { MessageFormatConfig } from "./message-format-config";
import * as i0 from "@angular/core";
export type CompilationResult = MessageFunction<"string"> | string;
/**
 * This compiler expects ICU syntax and compiles the expressions with messageformat.js
 */
export declare class TranslateMessageFormatCompiler extends TranslateCompiler {
    private mfCache;
    private messageFormatOptions;
    private throwOnError;
    private fallbackPrefix?;
    constructor(config?: MessageFormatConfig);
    compile<Result extends CompilationResult = MessageFunction<"string">>(value: string, lang: string): Result;
    compileTranslations(translations: any, lang: string): any;
    private getMessageFormatInstance;
    static ɵfac: i0.ɵɵFactoryDeclaration<TranslateMessageFormatCompiler, [{ optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TranslateMessageFormatCompiler>;
}
