import { LocationStrategy } from '@angular/common';
import { ElementRef, OnChanges, OnInit } from '@angular/core';
import { Router, RouterLink } from '@angular/router';
import type { AnimationBuilder, RouterDirection } from '@brucestafflink/ionic-core/components';
import { NavController } from '../../providers/nav-controller';
import * as i0 from "@angular/core";
/**
 * Adds support for Ionic routing directions and animations to the base Angular router link directive.
 *
 * When the router link is clicked, the directive will assign the direction and
 * animation so that the routing integration will transition correctly.
 */
export declare class RouterLinkDelegateDirective implements OnInit, OnChanges {
    private locationStrategy;
    private navCtrl;
    private elementRef;
    private router;
    private routerLink?;
    routerDirection: RouterDirection;
    routerAnimation?: AnimationBuilder;
    constructor(locationStrategy: LocationStrategy, navCtrl: NavController, elementRef: ElementRef, router: Router, routerLink?: RouterLink | undefined);
    ngOnInit(): void;
    ngOnChanges(): void;
    private updateTargetUrlAndHref;
    /**
     * @internal
     */
    onClick(ev: UIEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkDelegateDirective, [null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<RouterLinkDelegateDirective, ":not(a):not(area)[routerLink]", never, { "routerDirection": "routerDirection"; "routerAnimation": "routerAnimation"; }, {}, never, never, false>;
}
export declare class RouterLinkWithHrefDelegateDirective implements OnInit, OnChanges {
    private locationStrategy;
    private navCtrl;
    private elementRef;
    private router;
    private routerLink?;
    routerDirection: RouterDirection;
    routerAnimation?: AnimationBuilder;
    constructor(locationStrategy: LocationStrategy, navCtrl: NavController, elementRef: ElementRef, router: Router, routerLink?: RouterLink | undefined);
    ngOnInit(): void;
    ngOnChanges(): void;
    private updateTargetUrlAndHref;
    /**
     * @internal
     */
    onClick(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RouterLinkWithHrefDelegateDirective, [null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<RouterLinkWithHrefDelegateDirective, "a[routerLink],area[routerLink]", never, { "routerDirection": "routerDirection"; "routerAnimation": "routerAnimation"; }, {}, never, never, false>;
}
