import * as _ui5_webcomponents_dist_Button_js from '@ui5/webcomponents/dist/Button.js';
import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _ToolbarButton from '@ui5/webcomponents/dist/ToolbarButton.js';
export { ToolbarButtonAccessibilityAttributes } from '@ui5/webcomponents/dist/ToolbarButton.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';

declare class ToolbarButton implements AfterViewInit {
    /**
     * Defines if the action is disabled.
  
  **Note:** a disabled action can't be pressed or focused, and it is not in the tab chain.
     */
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the action design.
     */
    design: _angular_core.InputSignal<"Default" | "Positive" | "Negative" | "Transparent" | "Emphasized" | "Attention" | undefined>;
    /**
     * Defines the `icon` source URI.
  
  **Note:** SAP-icons font provides numerous buil-in icons. To find all the available icons, see the
  [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
     */
    icon: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the icon, displayed as graphical element within the component after the button text.
  
  **Note:** It is highly recommended to use `endIcon` property only together with `icon` and/or `text` properties.
  Usage of `endIcon` only should be avoided.
  
  The SAP-icons font provides numerous options.
  
  Example:
  See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
     */
    endIcon: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the tooltip of the component.
  
  **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.
     */
    tooltip: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the accessible ARIA name of the component.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Receives id(or many ids) of the elements that label the component.
     */
    accessibleNameRef: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the additional accessibility attributes that will be applied to the component.
  
  The following fields are supported:
  
  - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.
  Accepts the following string values: `true` or `false`
  
  - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.
  Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.
  
  - **controls**: Identifies the element (or elements) whose contents or presence are controlled by the button element.
  Accepts a lowercase string value.
     */
    accessibilityAttributes: _angular_core.InputSignal<_ui5_webcomponents_dist_Button_js.ButtonAccessibilityAttributes | undefined>;
    /**
     * Button text
     */
    text: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines whether the button text should only be displayed in the overflow popover.
  
  When set to `true`, the button appears as icon-only in the main toolbar,
  but shows both icon and text when moved to the overflow popover.
  
  **Note:** This property only takes effect when the `text` property is also set.
     */
    showOverflowText: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the width of the button.
  
  **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.
     */
    width: _angular_core.InputSignal<string | undefined>;
    /**
     * Property used to define the access of the item to the overflow Popover. If "NeverOverflow" option is set,
  the item never goes in the Popover, if "AlwaysOverflow" - it never comes out of it.
     */
    overflowPriority: _angular_core.InputSignal<"Default" | "NeverOverflow" | "AlwaysOverflow" | undefined>;
    /**
     * Defines if the toolbar overflow popup should close upon intereaction with the item.
  It will close by default.
     */
    preventOverflowClosing: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Fired when the component is activated either with a
  mouse/tap or by using the Enter or Space key.
  
  **Note:** The event will not be fired if the `disabled`
  property is set to `true`.
     */
    ui5Click: _angular_core.OutputEmitterRef<UI5CustomEvent<_ToolbarButton, "click">>;
    elementRef: ElementRef<_ToolbarButton>;
    injector: Injector;
    get element(): _ToolbarButton;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToolbarButton, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToolbarButton, "ui5-toolbar-button, [ui5-toolbar-button]", ["ui5ToolbarButton"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "design": { "alias": "design"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "endIcon": { "alias": "endIcon"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "accessibleNameRef": { "alias": "accessibleNameRef"; "required": false; "isSignal": true; }; "accessibilityAttributes": { "alias": "accessibilityAttributes"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "showOverflowText": { "alias": "showOverflowText"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "overflowPriority": { "alias": "overflowPriority"; "required": false; "isSignal": true; }; "preventOverflowClosing": { "alias": "preventOverflowClosing"; "required": false; "isSignal": true; }; }, { "ui5Click": "ui5Click"; }, never, ["*"], true, never>;
}

export { ToolbarButton };
