import { ElementRef, EventEmitter } from '@angular/core';
import { DisplayDensityBase, IDisplayDensityOptions } from '../../core/density';
import * as i0 from "@angular/core";
export declare const IgxBaseButtonType: {
    Flat: "flat";
    Contained: "contained";
    Outlined: "outlined";
};
export declare abstract class IgxButtonBaseDirective extends DisplayDensityBase {
    element: ElementRef;
    protected _displayDensityOptions: IDisplayDensityOptions;
    /**
     * Emitted when the button is clicked.
     */
    buttonClick: EventEmitter<any>;
    /**
     * Sets/gets the `role` attribute.
     *
     * @example
     * ```typescript
     * this.button.role = 'navbutton';
     * let buttonRole = this.button.role;
     * ```
     */
    role: string;
    /**
     * @hidden
     * @internal
     */
    onClick(ev: MouseEvent): void;
    /**
     * @hidden
     * @internal
     */
    protected onBlur(): void;
    /**
     * Sets/gets whether the button component is on focus.
     * Default value is `false`.
     * ```typescript
     * this.button.focus = true;
     * ```
     * ```typescript
     * let isFocused =  this.button.focused;
     * ```
     */
    protected focused: boolean;
    /**
      * Enables/disables the button.
      *
      * @example
      * ```html
      * <button igxButton="fab" disabled></button>
      * ```
      */
    disabled: boolean;
    /**
     * @hidden
     * @internal
     */
    get disabledAttribute(): true;
    constructor(element: ElementRef, _displayDensityOptions: IDisplayDensityOptions);
    /**
     * @hidden
     * @internal
     */
    protected updateOnKeyUp(event: KeyboardEvent): void;
    /**
     * Returns the underlying DOM element.
     */
    get nativeElement(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxButtonBaseDirective, [null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxButtonBaseDirective, never, never, { "disabled": { "alias": "disabled"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, false, never>;
    static ngAcceptInputType_disabled: unknown;
}
