import { OnChanges, OnDestroy, OnInit } from '@angular/core';
import { NavigationItem } from '../navigation-item.interface';
import * as i0 from "@angular/core";
export declare class NavigationLinkDirective implements OnInit, OnChanges, OnDestroy {
    private readonly _router;
    private readonly _locationStrategy;
    private readonly _navigationService;
    private readonly _changeDetector;
    private readonly _route;
    private readonly _options;
    /** The NavigationItem this element represents */
    navigationItem: NavigationItem;
    /** The expaned state of this item */
    set expanded(value: boolean);
    /** Determine if this item can be expanded */
    canExpand: boolean;
    /** Determine if this item should be indented */
    indent: boolean;
    /** Determine the href of this element */
    href: string;
    /** Determine the role of this element */
    role: string;
    /** Update the aria-expanded attribute of this element */
    ariaExpanded: boolean;
    /** Store the active state of the item */
    isActive: boolean;
    /** Store the indendation state of the children */
    indentChildren: boolean;
    /** Emit with the current expaned state */
    private readonly _expanded$;
    /** Unsubscribe from all observables when this directive is destroyed */
    private readonly _onDestroy;
    ngOnInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    activated(event: Event): boolean;
    private updateNavigationState;
    private updateAttributes;
    private getHref;
    private isActiveItem;
    /** Get the router options with defaults for missing properties */
    private getRouterOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<NavigationLinkDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NavigationLinkDirective, "[uxNavigationLink]", ["uxNavigationLink"], { "navigationItem": { "alias": "navigationItem"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "canExpand": { "alias": "canExpand"; "required": false; }; "indent": { "alias": "indent"; "required": false; }; }, {}, never, never, false, never>;
}
