import { OnInit } from '@angular/core';
import { QdButtonGhostDirective } from '../directives/button.directives';
import { QdMenuButtonConfig } from '../model/button-config';
import * as i0 from "@angular/core";
/**
 * **QdMenuButtonComponent** provides a button with a dropdown menu for triggering actions.
 *
 * #### **Features**
 *
 * - **Configurable Actions**: Displays a button that opens a dropdown menu when clicked. Each action must have its own handler function.
 * - **Ghost Button Option**: Supports a transparent "ghost" style using the **QdButtonGhostDirective** for secondary actions.
 *
 * #### **Interactions**
 *
 * - **Visibility and Availability**: Actions can be shown or hidden based on configuration.
 * - **Disabled State**: Actions and the menu button can be disabled. The menu button is also disabled if there are no unhidden actions.
 *
 * #### **Error Handling**
 *
 * Logs an error if the component is initialized without a valid configuration.
 *
 * #### **Usage**
 *
 * ```typescript
 * menuConfig: QdMenuButtonConfig = {
 *   actions: [
 *     { label: { i18n: 'i18n.actions.first' }, handler: () => doSomething() },
 *     { label: { i18n: 'i18n.actions.second' }, handler: () => doSomethingElse() }
 *   ]
 * };
 * ```
 *
 * ```html
 * <!-- Primary style (used as a custom action within a QdPage) -->
 * <button [qdMenuButton]="menuConfig">Open Menu</button>
 *
 * <!-- Secondary style (used as an action within a QdSection) -->
 * <button qdButtonGhost [qdMenuButton]="menuConfig">Open Menu</button>
 * ```
 */
export declare class QdMenuButtonComponent implements OnInit {
    qdButtonGhost: QdButtonGhostDirective;
    /**
     * @description The configuration for QdMenuButton
     */
    config?: QdMenuButtonConfig;
    dataTestId: string;
    autoSize: boolean;
    isOpen: boolean;
    private onlyIconOnSmallViewport;
    get classes(): string;
    constructor(qdButtonGhost: QdButtonGhostDirective, isViewportAdaptiveEnabled: boolean);
    ngOnInit(): void;
    hasUnhiddenActions(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdMenuButtonComponent, [{ optional: true; host: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QdMenuButtonComponent, "button[qdMenuButton], a[qdMenuButton]", never, { "config": { "alias": "qdMenuButton"; "required": false; }; "dataTestId": { "alias": "data-test-id"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; }, {}, never, ["*"], false, never>;
}
//# sourceMappingURL=menu-button.component.d.ts.map