import { DoCheck, IterableDiffers, TemplateRef, ViewContainerRef } from '@angular/core';
import { Dictionary } from 'ts-essentials';
import { TranslateService } from './translate.service';
import * as i0 from "@angular/core";
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;
    static ɵfac: i0.ɵɵFactoryDeclaration<TranslateDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TranslateDirective, "[aclTranslate]", never, { "aclTranslate": { "alias": "aclTranslate"; "required": false; }; }, {}, never, never, true, never>;
}
export declare class TranslateMatchDirective {
    private readonly templateRef;
    private readonly aclTranslate;
    constructor(templateRef: TemplateRef<any>, aclTranslate: TranslateDirective);
    set aclTranslateMatch(val: string);
    static ɵfac: i0.ɵɵFactoryDeclaration<TranslateMatchDirective, [null, { host: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TranslateMatchDirective, "[aclTranslateMatch]", never, { "aclTranslateMatch": { "alias": "aclTranslateMatch"; "required": false; }; }, {}, never, never, true, never>;
}
export declare class TranslateTextDirective {
    private readonly aclTranslate;
    constructor(templateRef: TemplateRef<any>, aclTranslate: TranslateDirective);
    static ɵfac: i0.ɵɵFactoryDeclaration<TranslateTextDirective, [null, { host: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TranslateTextDirective, "[aclTranslateText]", never, {}, {}, never, never, true, never>;
}
export {};
