import { OnInit, ElementRef, Renderer2, Injector, EventEmitter, OnDestroy, AfterViewInit } from '@angular/core';
import { IconData } from '@ironsource/fusion-ui/components/icon/v1';
import * as i0 from "@angular/core";
export declare abstract class ButtonBaseComponent implements OnInit, AfterViewInit, OnDestroy {
    private element;
    private renderer;
    /** @internal */
    onClick($event: any): void;
    /**
     * Add button icon (IconData = string | Icon)
     * @param value
     * @internal
     */
    set icon(value: IconData);
    /**
     * Set disable state
     * @param value
     * @internal
     */
    set disabled(value: boolean);
    /**
     * Set loading state
     * @param value
     * @internal
     */
    set loading(value: boolean);
    get loading(): boolean;
    /**
     * Set button as link
     * @param value
     * @internal
     */
    set link(value: boolean);
    /**
     * @internal
     */
    onclick: EventEmitter<any>;
    /** @internal */
    contentRef: ElementRef;
    /** @internal */
    projectContent: boolean;
    /** @internal */
    isLink: boolean;
    /** @internal */
    iconName: string;
    /** @internal */
    iconData: IconData;
    private isLoading$;
    protected isDisabled: boolean;
    private onDestroy$;
    constructor(injector: Injector, element: ElementRef, renderer: Renderer2);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    protected setHostClass(add: boolean, className: string): void;
    private setHostAttribute;
    protected setDisableState(disabling: boolean): void;
    protected setLoadingState(loading: boolean): void;
    private setIconState;
    private setLinkButtonState;
    static ɵfac: i0.ɵɵFactoryDeclaration<ButtonBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ButtonBaseComponent, never, never, { "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "link": { "alias": "link"; "required": false; }; }, { "onclick": "onclick"; }, never, never, false, never>;
}
