/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, EventEmitter, OnInit, QueryList } from '@angular/core';
import { ButtonFillMode, ButtonThemeColor } from '@progress/kendo-angular-buttons';
import { ToolBarToolComponent } from './toolbar-tool.component';
import { PopupSettings } from '../popup-settings';
import { DisplayMode } from '../display-mode';
import { ToolOptions } from '../tool-options';
import { PreventableEvent } from '@progress/kendo-angular-buttons';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ToolBarComponent } from '../toolbar.component';
import * as i0 from "@angular/core";
/**
* Represents the [Kendo UI ToolBar SplitButton for Angular](slug:controltypes_toolbar#split-buttons).
*
* Use the ToolBar SplitButton to create a split button with a main button and a drop-down list of actions in the ToolBar.
*
* @example
* ```html
*
*
*
*
* ```
*/
export declare class ToolBarSplitButtonComponent extends ToolBarToolComponent implements OnInit {
private host;
/**
* Controls the button text visibility.
* @default 'always'
*/
set showText(value: DisplayMode);
get showText(): DisplayMode;
/**
* Controls the button icon visibility.
* @default 'always'
*/
set showIcon(value: DisplayMode);
get showIcon(): DisplayMode;
/**
* Sets the text of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
*/
set text(text: string);
get text(): string;
/**
* Sets the icon rendered next to the button text
* ([see example](slug:controltypes_toolbar#toc-split-buttons)).
*/
set icon(icon: string);
/**
* Sets the `SVGIcon` rendered in the main button.
* Accepts an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
*/
set svgIcon(icon: SVGIcon);
/**
* Sets a custom CSS class icon rendered next to the button text.
*/
set iconClass(iconClass: string);
/**
* Sets a URL for the image displayed next to the button text.
*/
set imageUrl(imageUrl: string);
/**
* When `true`, disables a SplitButton item.
*/
disabled: boolean;
/**
* Configures the popup of the SplitButton.
* Accepts a `PopupSettings` object that allows you to customize the popup behavior and appearance.
*/
set popupSettings(value: PopupSettings);
get popupSettings(): PopupSettings;
/**
* Sets the fill mode for the button.
* The fill mode represents the background and border styles.
* @default 'solid'
*/
fillMode: ButtonFillMode;
/**
* Sets the predefined theme color for the button.
* The theme color applies to the background, border, and text.
* @default 'base'
*/
themeColor: ButtonThemeColor;
/**
* @hidden
*/
set look(look: 'default' | 'flat' | 'outline');
/**
* Sets the CSS classes for the main button.
* Accepts values supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
*/
buttonClass: string;
/**
* Sets the CSS classes for the arrow button that opens the popup.
* Accepts values supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
*/
arrowButtonClass: any;
/**
* Sets the name of the [font icon](slug:icons#icons-list) for the arrow button.
*/
arrowButtonIcon: string;
/**
* Sets the [`SVGIcon`](slug:api_icons_svgicon) for the arrow button.
*/
arrowButtonSvgIcon: SVGIcon;
/**
* Sets the text field for the button-list popup.
* @default 'text'
*/
textField: string;
/**
* Sets the data of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
*
* > Provide the data as an array-like list.
*/
set data(data: any[]);
get data(): any[];
/**
* Fires when the user clicks the main button.
*/
buttonClick: EventEmitter;
/**
* Fires when the user clicks a drop-down list item.
* The event data contains the clicked item's data.
*/
itemClick: EventEmitter;
/**
* Fires when the popup is about to open.
* This event is preventable. If you cancel the event, the popup stays closed.
*/
open: EventEmitter;
/**
* Fires when the popup is about to close.
* This event is preventable. If you cancel the event, the popup stays open.
*/
close: EventEmitter;
toolbarOptions: ToolOptions;
overflowOptions: ToolOptions;
ngOnInit(): void;
ngOnDestroy(): void;
private get overflowButtons();
private _data;
private _popupSettings;
private focusedIndex;
private _showText;
private _showIcon;
private _text;
private propertyChangeSub;
private getNextKey;
private getPrevKey;
private toolbarSplitButton;
private sectionSplitButton;
private overflowMainButton;
overflowListItems: QueryList;
constructor(host: ToolBarComponent);
/**
* @hidden
*/
onButtonListClick(ev: MouseEvent): void;
/**
* @hidden
*/
onMainButtonClick(ev: MouseEvent): void;
/**
* @hidden
*/
canFocus(): boolean;
/**
* @hidden
*/
get size(): any;
/**
* @hidden
*/
focus(ev?: Partial): void;
/**
* @hidden
*/
handleKey(ev: any): boolean;
/**
* @hidden
*/
getText(dataItem: any): any;
/**
* @hidden
*/
handleClick(ev: any, item: any, index: number): void;
private focusButton;
private setTextDisplayMode;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}