import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { BehaviorSubject, Subject } from 'rxjs';
import { TagComponentConfigurations } from '@ironsource/fusion-ui/components/tag/common/entities';
import { IconData } from '@ironsource/fusion-ui/components/icon/v1';
import * as i0 from "@angular/core";
export declare abstract class TagBaseComponent implements OnInit, OnDestroy {
    private element;
    private renderer;
    /** @internal */
    closeIconName$: BehaviorSubject<IconData>;
    /** @internal */
    width: number;
    /** @internal */
    tooltipWidth: number;
    /** @internal */
    _selected: boolean;
    /** @internal */
    _disabled: boolean;
    /** @internal */
    _close: boolean;
    /** @internal */
    protected onDestroy$: Subject<void>;
    set configuration(value: TagComponentConfigurations);
    private _tag;
    /**
     * Flag for suppress remove from DOM, just emit remove event to parent.
     */
    removeEventOnly: boolean;
    /** @internal */
    id: number | string;
    /** @internal */
    icon: IconData;
    /** @internal */
    flag: string;
    /** @internal */
    image: string;
    /** @internal */
    title: string;
    /** @internal */
    tooltipContent: string;
    /** @internal */
    suppressClickOnRemove: boolean;
    /** @internal */
    set role(role: 'filter');
    /** @internal */
    set close(close: boolean);
    get close(): boolean;
    /** @internal */
    set disabled(disabled: boolean);
    get disabled(): boolean;
    /** @internal */
    set selected(selected: boolean);
    get selected(): boolean;
    onRemove: EventEmitter<TagComponentConfigurations>;
    /** @internal */
    selectedChange: EventEmitter<any>;
    constructor(element: ElementRef, renderer: Renderer2);
    ngOnInit(): void;
    ngOnDestroy(): void;
    /** @internal */
    closeClicked($event: any): void;
    /** @internal */
    setClickListener(): void;
    /** @internal */
    changeHostClass(className: string, add: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TagBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TagBaseComponent, never, never, { "configuration": { "alias": "configuration"; "required": false; }; "removeEventOnly": { "alias": "removeEventOnly"; "required": false; }; "id": { "alias": "id"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "flag": { "alias": "flag"; "required": false; }; "image": { "alias": "image"; "required": false; }; "title": { "alias": "title"; "required": false; }; "tooltipContent": { "alias": "tooltipContent"; "required": false; }; "suppressClickOnRemove": { "alias": "suppressClickOnRemove"; "required": false; }; "role": { "alias": "role"; "required": false; }; "close": { "alias": "close"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "onRemove": "onRemove"; "selectedChange": "selectedChange"; }, never, never, false, never>;
}
