import { DoCheck, IterableDiffers, TemplateRef, ViewContainerRef } from '@angular/core';
import { Dictionary } from 'ts-essentials';
import { TranslateService } from './public-api';
interface Inline {
    type: 'placeholder' | 'text';
    val: string;
}
export declare class TranslateView {
    readonly templateRef: TemplateRef<any>;
    readonly match: string;
    constructor(templateRef: TemplateRef<any>, match?: string);
    isText(): boolean;
}
export declare class TranslateDirective implements DoCheck {
    private readonly viewContainer;
    private readonly translate;
    private readonly differs;
    constructor(viewContainer: ViewContainerRef, translate: TranslateService, differs: IterableDiffers);
    set aclTranslate(key: string);
    translateKey: string | Dictionary<string>;
    private locale;
    private dirty;
    private textView;
    private views;
    private differ;
    private viewIndexes;
    private inlines;
    inlineTracker: (index: number, item: Inline) => string;
    ngDoCheck(): void;
    separateContent(content: string): Inline[];
    private update;
    private applyChanges;
    addView(view: TranslateView): void;
}
export declare class TranslateMatchDirective {
    private readonly templateRef;
    private readonly aclTranslate;
    constructor(templateRef: TemplateRef<any>, aclTranslate: TranslateDirective);
    set aclTranslateMatch(val: string);
}
export declare class TranslateTextDirective {
    private readonly aclTranslate;
    constructor(templateRef: TemplateRef<any>, aclTranslate: TranslateDirective);
}
export {};
