import { OnInit, EventEmitter, SimpleChanges, ElementRef, QueryList } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import { ChangeDetectorRef } from "@angular/core";
import { DxcTagIconComponent } from "./dxc-tag-icon/dxc-tag-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 DxcTagComponent implements OnInit {
    private utils;
    private cdRef;
    isHovered: boolean;
    /**
     * Text to be placed next inside the tag.
     */
    label: string;
    /**
     * @deprecated URL of the icon.
     */
    iconSrc: string;
    /**
     * Background color of the icon section of the tag.
     */
    iconBgColor: string;
    /**
     * Whether the label should appear after or before the icon.
     */
    labelPosition: "before" | "after";
    /**
     * If defined, the tag will be displayed as an anchor, using this prop as "href".
     * Component will show some visual feedback on hover.
     */
    linkHref: string;
    /**
     * 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;
    /**
     * If true, the page is opened in a new browser tab.
     */
    get newWindow(): boolean;
    set newWindow(value: boolean);
    private _newWindow;
    /**
     * If true, the component will be disabled.
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    /**
     * Size of the component.
     */
    size: "small" | "medium" | "large" | "fillParent" | "fitContent";
    /**
     * Value of the tabindex.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    /**
     * If defined, the tag will be displayed as a button. This event will emit in case the user clicks the tag.
     * Component will show some visual feedback on hover.
     */
    onClick: EventEmitter<void>;
    isClickDefined: boolean;
    shadowDepth: string;
    className: any;
    dxcBox: QueryList<ElementRef>;
    dxcTagIcon: QueryList<DxcTagIconComponent>;
    iconContainer: QueryList<ElementRef>;
    defaultInputs: BehaviorSubject<any>;
    constructor(utils: CssUtils, cdRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    setIconDisplay(): void;
    setStyleDxcBox(): void;
    mouseEnter(): void;
    mouseLeave(): void;
    sizes: {
        small: string;
        medium: string;
        large: string;
        fillParent: string;
        fitContent: string;
    };
    onClickHandler($event: any): void;
    getShadowDepth(): string;
    setActionStyle(inputs: any): string;
    getDynamicStyle(inputs: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcTagComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcTagComponent, "dxc-tag", never, { "label": "label"; "iconSrc": "iconSrc"; "iconBgColor": "iconBgColor"; "labelPosition": "labelPosition"; "linkHref": "linkHref"; "margin": "margin"; "newWindow": "newWindow"; "disabled": "disabled"; "size": "size"; "tabIndexValue": "tabIndexValue"; }, { "onClick": "onClick"; }, ["dxcTagIcon"], ["dxc-tag-icon"]>;
}
export {};
//# sourceMappingURL=dxc-tag.component.d.ts.map