import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import { SimpleChanges, EventEmitter, ChangeDetectorRef, QueryList } from "@angular/core";
import { DxcLinkIconComponent } from "./dxc-link-icon/dxc-link-icon.component";
import * as i0 from "@angular/core";
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
declare type Margin = {
    top?: Space;
    bottom?: Space;
    left?: Space;
    right?: Space;
};
export declare class DxcLinkComponent {
    private utils;
    private cdRef;
    get underlined(): boolean;
    set underlined(value: boolean);
    private _underlined;
    /**
     * If true, the color is inherited from parent.
     */
    get inheritColor(): boolean;
    set inheritColor(value: boolean);
    private _inheritColor;
    /**
     * If true, the link is disabled.
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    /**
     * Link text.
     */
    text: string;
    /**
     * @Deprecated Source of the icon.
     */
    iconSrc: string;
    /**
     * Indicates the position of the icon in the component.
     */
    iconPosition: string;
    /**
     * Page to be opened when the user clicks on the link.
     */
    href: string;
    /**
     * If true, the page is opened in a new browser tab.
     */
    get newWindow(): boolean;
    set newWindow(value: boolean);
    private _newWindow;
    /**
     * Size of the margin to be applied to the component
     * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
     * in order to specify different margin sizes.
     */
    margin: Space | Margin;
    /**
     * Value of the tabindex.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    /**
     * This event will emit in case the user clicks the component. If defined,
     * the link will be displayed as a button.
     */
    onClick: EventEmitter<any>;
    className: any;
    dxcLinkIcon: QueryList<DxcLinkIconComponent>;
    styledLink: string;
    isClickDefined: boolean;
    styledButton: string;
    defaultInputs: BehaviorSubject<any>;
    constructor(utils: CssUtils, cdRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewChecked(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onClickHandler($event: any): void;
    getDynamicStyle(inputs: any): string;
    getDynamicStyledButton(inputs: any): string;
    private getUnderlineStyles;
    private getStateStyles;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcLinkComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcLinkComponent, "dxc-link", never, { "underlined": "underlined"; "inheritColor": "inheritColor"; "disabled": "disabled"; "text": "text"; "iconSrc": "iconSrc"; "iconPosition": "iconPosition"; "href": "href"; "newWindow": "newWindow"; "margin": "margin"; "tabIndexValue": "tabIndexValue"; }, { "onClick": "onClick"; }, ["dxcLinkIcon"], ["*", "*"]>;
}
export {};
//# sourceMappingURL=dxc-link.component.d.ts.map