import { ElementRef, OnChanges, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { Subject } from 'rxjs';
import { TimeagoClock } from './timeago.clock';
import { TimeagoFormatter } from './timeago.formatter';
import { TimeagoIntl } from './timeago.intl';
import * as i0 from "@angular/core";
export declare class TimeagoDirective implements OnChanges, OnDestroy {
    private cd;
    private clock;
    private intlSubscription;
    private clockSubscription;
    /**
     * Emits on:
     * - Input change
     * - Intl change
     * - Clock tick
    */
    stateChanges: Subject<void>;
    /** The Date to display. An actual Date object or something that can be fed to new Date. */
    get date(): any;
    set date(date: any);
    private _date;
    /** If the directive should update itself over time */
    get live(): boolean;
    set live(live: boolean);
    private _live;
    constructor(intl: TimeagoIntl, cd: ChangeDetectorRef, formatter: TimeagoFormatter, element: ElementRef, clock: TimeagoClock);
    ngOnChanges(): void;
    setContent(node: any, content: string): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimeagoDirective, [{ optional: true; }, null, null, null, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TimeagoDirective, "[timeago]", ["timeago"], { "date": { "alias": "date"; "required": false; }; "live": { "alias": "live"; "required": false; }; }, {}, never, never, false, never>;
}
