import { AfterContentInit, ChangeDetectorRef, OnDestroy, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
import * as i0 from "@angular/core";
export declare class PluralElementDirective {
    readonly viewRef: ViewContainerRef;
    readonly templateRef: TemplateRef<any>;
    elementKey?: string;
    constructor(viewRef: ViewContainerRef, templateRef: TemplateRef<any>);
    static ɵfac: i0.ɵɵFactoryDeclaration<PluralElementDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PluralElementDirective, "[pluralElement]", never, { "elementKey": { "alias": "pluralElement"; "required": false; }; }, {}, never, never, true, never>;
}
export declare class PluralContentDirective implements AfterContentInit, OnDestroy {
    private viewRef;
    private renderer;
    private changeDetectorRef;
    private elements?;
    set pluralContent(key: string);
    set pluralValue(value: number);
    set pluralNamespace(namespace: string);
    set pluralGender(gender: 'male' | 'female' | 'other');
    set pluralArgs(args: string[]);
    set pluralNamedArgs(namedArgs: Record<string, string>);
    set pluralName(name: string);
    set pluralNumberFormatterFn(numberFormatterFn: (value: number) => string);
    set demarc(demarc: {
        start: string;
        end: string;
    });
    private currentKey?;
    private currentValue?;
    private currentParams?;
    private _demarc;
    private subscription?;
    constructor(viewRef: ViewContainerRef, renderer: Renderer2, changeDetectorRef: ChangeDetectorRef);
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    private render;
    static ɵfac: i0.ɵɵFactoryDeclaration<PluralContentDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PluralContentDirective, "[pluralContent]", never, { "pluralContent": { "alias": "pluralContent"; "required": false; }; "pluralValue": { "alias": "pluralValue"; "required": false; }; "pluralNamespace": { "alias": "pluralNamespace"; "required": false; }; "pluralGender": { "alias": "pluralGender"; "required": false; }; "pluralArgs": { "alias": "pluralArgs"; "required": false; }; "pluralNamedArgs": { "alias": "pluralNamedArgs"; "required": false; }; "pluralName": { "alias": "pluralName"; "required": false; }; "pluralNumberFormatterFn": { "alias": "pluralNumberFormatterFn"; "required": false; }; "demarc": { "alias": "demarc"; "required": false; }; }, {}, ["elements"], never, true, never>;
}
