import * as i2 from '@acorex/cdk/common';
import { MXButtonBaseComponent, AXClickEvent, AXClosableComponent } from '@acorex/cdk/common';
import * as i6 from '@acorex/components/button';
import { AXButtonType } from '@acorex/components/button';
import * as i0 from '@angular/core';
import { AfterViewInit, EventEmitter } from '@angular/core';
import * as i1 from '@angular/common';
import * as i3 from '@acorex/components/decorators';
import * as i4 from '@acorex/components/loading';
import * as i5 from '@acorex/components/dropdown';

/**
 * The Button is a component which detects user interaction and triggers a corresponding event
 *
 * @category Components
 */
declare class AXDropdownButtonComponent extends MXButtonBaseComponent implements AfterViewInit {
    /**
     *  Fires each time the user clicks the button.
     *  @event
     */
    onClick: EventEmitter<AXClickEvent>;
    /**
     *  @ignore
     */
    dropdownPanel: AXClosableComponent;
    /**
     * Defines the type of the button element.
     *
     *  @defaultValue 'button'
     */
    type: AXButtonType;
    /**
     * Specifies the mode of the button.
     * Can be either 'split' or 'dropdown'.
     *
     *  @defaultValue 'split'
     */
    mode: 'split' | 'dropdown';
    /**
     *  @ignore
     */
    ngAfterViewInit(): void;
    /**
     *  @ignore
     */
    private getButton;
    /**
     *  @ignore
     */
    _handleClick(e: MouseEvent): void;
    /**
     * Simulates a click event on the button element.
     *
     * @returns void - No return value. The button click is simulated.
     */
    click(): void;
    /**
     * Sets focus to the button and adds a focus state class.
     *
     * @returns void - No return value. The button receives focus.
     */
    focus(): void;
    /**
     * Removes the focus state class from the button.
     *
     * @returns void - No return value. The button loses focus.
     */
    blur(): void;
    /**
     * Closes the dropdown panel.
     *
     * @returns void - No return value. The dropdown panel is closed.
     */
    close(): void;
    private get __hostClass();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDropdownButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDropdownButtonComponent, "ax-dropdown-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "text": { "alias": "text"; "required": false; }; "type": { "alias": "type"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "onClick": "onClick"; "selectedChange": "selectedChange"; "lookChange": "lookChange"; "colorChange": "colorChange"; "disabledChange": "disabledChange"; }, never, ["ax-button-item-list", "ax-prefix, ax-loading, ax-loading-spinner"], true, never>;
}

declare class AXDropdownButtonModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDropdownButtonModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXDropdownButtonModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.AXDecoratorModule, typeof i4.AXLoadingModule, typeof i2.AXRippleDirective, typeof i5.AXDropdownModule, typeof i6.AXButtonModule, typeof AXDropdownButtonComponent], [typeof AXDropdownButtonComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXDropdownButtonModule>;
}

export { AXDropdownButtonComponent, AXDropdownButtonModule };
