import { Injector } from '@angular/core';
import { ButtonColor, ButtonSize, ButtonVariant, IconButtonColor, IconButtonSize, IconButtonVariant } from './button.entities';
import { ButtonTestIdModifiers } from '@ironsource/fusion-ui/entities';
import { TestIdsService } from '@ironsource/fusion-ui/services/test-ids';
import * as i0 from "@angular/core";
export declare class ButtonBaseComponent {
    private injector;
    testId: string;
    /**
     * Set button color type
     * @param value
     */
    set color(value: ButtonColor | IconButtonColor);
    /**
     * Set button variant type
     * @param value
     */
    set variant(value: ButtonVariant | IconButtonVariant);
    /**
     * Set button size
     * @param value
     */
    set size(value: ButtonSize | IconButtonSize);
    /**
     * Set button disabled state
     * @param value
     */
    set disabled(value: boolean);
    /**
     * Set button loading state
     * @param value
     */
    set loading(value: boolean);
    /** @internal */
    testIdButtonModifiers: typeof ButtonTestIdModifiers;
    /** @internal */
    testIdsService: TestIdsService;
    get testAttribute(): string;
    get buttonClass(): string;
    get colorClass(): string;
    get variantClass(): string;
    get sizeClass(): string;
    get disabled(): boolean;
    get loading(): boolean;
    constructor(injector: Injector);
    private _color;
    private _variant;
    protected _size: ButtonSize | IconButtonSize;
    private _disabled;
    private _loading;
    static ɵfac: i0.ɵɵFactoryDeclaration<ButtonBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ButtonBaseComponent, never, never, { "testId": { "alias": "testId"; "required": false; }; "color": { "alias": "color"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, {}, never, never, false, never>;
}
