import { OnInit } from '@angular/core';
import { AbstractControl, ControlValueAccessor, NgForm, UntypedFormBuilder, UntypedFormGroup, ValidationErrors, Validator } from '@angular/forms';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class LinkComponent implements OnInit, ControlValueAccessor, Validator {
    fb: UntypedFormBuilder;
    formDirective: NgForm;
    form: UntypedFormGroup;
    /** denote if the control is required or not*/
    isRequired: boolean;
    /** Text to be displayed in link or button*/
    text: string;
    /** URI of the page to be opened */
    uri: string;
    /** URL of the external page to be opened */
    externalUrl: string;
    /** Render text as link*/
    link: boolean;
    onTouched: Function;
    onChangeSubs: Subscription[];
    private onChange;
    constructor(fb: UntypedFormBuilder);
    ngOnInit(): void;
    get isClicked(): AbstractControl<any, any>;
    ngOnDestroy(): void;
    registerOnChange(onChange: any): void;
    registerOnTouched(onTouched: Function): void;
    writeValue(value: string): void;
    setDisabledState?(isDisabled: boolean): void;
    validate(control: AbstractControl<any, any>): ValidationErrors;
    openLink(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LinkComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LinkComponent, "app-link", never, { "isRequired": { "alias": "isRequired"; "required": false; }; "text": { "alias": "text"; "required": false; }; "uri": { "alias": "uri"; "required": false; }; "externalUrl": { "alias": "externalUrl"; "required": false; }; "link": { "alias": "link"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=link.component.d.ts.map