import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _SplitButton, { SplitButtonAccessibilityAttributes } from '@ui5/webcomponents/dist/SplitButton.js';
export { SplitButtonAccessibilityAttributes } from '@ui5/webcomponents/dist/SplitButton.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';

declare class SplitButton implements AfterViewInit {
    /**
     * Defines the icon to be displayed as graphical element within the component.
  The SAP-icons font provides numerous options.
  
  Example:
  
  See all available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
     */
    icon: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines whether the arrow button should have the active state styles or not.
     */
    activeArrowButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the component design.
     */
    design: _angular_core.InputSignal<"Default" | "Positive" | "Negative" | "Transparent" | "Emphasized" | "Attention" | undefined>;
    /**
     * Defines whether the component is disabled.
  A disabled component can't be pressed or
  focused, and it is not in the tab chain.
     */
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the accessible ARIA name of the component.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the additional accessibility attributes that will be applied to the component.
  The `accessibilityAttributes` property accepts an object with the following optional fields:
  
  - **root**: Attributes that will be applied to the main (text) button.
    - **hasPopup**: Indicates the presence and type of popup triggered by the button.
      Accepts string values: `"dialog"`, `"grid"`, `"listbox"`, `"menu"`, or `"tree"`.
    - **roleDescription**: Provides a human-readable description for the role of the button.
      Accepts any string value.
    - **title**: Specifies a tooltip or description for screen readers.
      Accepts any string value.
      - **ariaKeyShortcuts**: Defines keyboard shortcuts that activate or give focus to the button.
  
  - **arrowButton**: Attributes applied specifically to the arrow (split) button.
    - **hasPopup**: Indicates the presence and type of popup triggered by the arrow button.
      Accepts string values: `"dialog"`, `"grid"`, `"listbox"`, `"menu"`, or `"tree"`.
    - **expanded**: Indicates whether the popup triggered by the arrow button is currently expanded.
      Accepts boolean values: `true` or `false`.
     */
    accessibilityAttributes: _angular_core.InputSignal<SplitButtonAccessibilityAttributes | undefined>;
    /**
     * Fired when the user clicks on the default action.
     */
    ui5Click: _angular_core.OutputEmitterRef<UI5CustomEvent<_SplitButton, "click">>;
    /**
     * Fired when the user clicks on the arrow action.
     */
    ui5ArrowClick: _angular_core.OutputEmitterRef<UI5CustomEvent<_SplitButton, "arrow-click">>;
    /**
     * Available slots for content projection in this component.
     *
     * Slots allow you to insert custom content into predefined areas of the web component.
     * Use the `slot` attribute on child elements to target specific slots.
     *
     * - **(default)**: Defines the text of the component.
  
  **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
     *
     * @example
     * ```html
     * <ui5-split-button>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-split-button>
     * ```
     *
     * @readonly
     * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
     */
    readonly slots: {
        name: string;
        description: string;
    }[];
    elementRef: ElementRef<_SplitButton>;
    injector: Injector;
    get element(): _SplitButton;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitButton, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SplitButton, "ui5-split-button, [ui5-split-button]", ["ui5SplitButton"], { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "activeArrowButton": { "alias": "activeArrowButton"; "required": false; "isSignal": true; }; "design": { "alias": "design"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "accessibilityAttributes": { "alias": "accessibilityAttributes"; "required": false; "isSignal": true; }; }, { "ui5Click": "ui5Click"; "ui5ArrowClick": "ui5ArrowClick"; }, never, ["*"], true, never>;
}

export { SplitButton };
