import { FocusMonitor } from '@angular/cdk/a11y';
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, OnDestroy, QueryList, Renderer2 } from '@angular/core';
import { KbqIcon } from '@koobiq/components/icon';
import * as i0 from "@angular/core";
export declare const baseURLRegex: RegExp;
export declare class KbqLink implements AfterContentInit, AfterViewInit, OnDestroy {
    private elementRef;
    private focusMonitor;
    private changeDetector;
    protected readonly renderer: Renderer2;
    protected readonly destroyRef: DestroyRef;
    protected readonly nativeElement: HTMLElement;
    icons: QueryList<ElementRef>;
    /** Whether the link is disabled. */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    get tabIndex(): number;
    set tabIndex(value: number);
    private _tabIndex;
    pseudo: boolean;
    noUnderline: boolean;
    big: boolean;
    compact: boolean;
    useVisited: boolean;
    get hasIcon(): boolean;
    set print(value: any);
    private _print;
    printMode: boolean;
    printUrl: string;
    icon: KbqIcon;
    constructor(elementRef: ElementRef<HTMLAnchorElement>, focusMonitor: FocusMonitor, changeDetector: ChangeDetectorRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    focus(): void;
    getHostElement(): HTMLAnchorElement;
    ngAfterContentInit(): void;
    private updateClassModifierForIcons;
    private updatePrintUrl;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqLink, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqLink, "[kbq-link]", ["kbqLink"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "pseudo": { "alias": "pseudo"; "required": false; }; "noUnderline": { "alias": "noUnderline"; "required": false; }; "big": { "alias": "big"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "useVisited": { "alias": "useVisited"; "required": false; }; "print": { "alias": "print"; "required": false; }; }, {}, ["icon", "icons"], never, false, never>;
    static ngAcceptInputType_disabled: unknown;
    static ngAcceptInputType_tabIndex: unknown;
    static ngAcceptInputType_pseudo: unknown;
    static ngAcceptInputType_noUnderline: unknown;
    static ngAcceptInputType_big: unknown;
    static ngAcceptInputType_compact: unknown;
    static ngAcceptInputType_useVisited: unknown;
}
