/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, ElementRef, NgZone } from '@angular/core';
import { ToolBarToolComponent } from './toolbar-tool.component';
import { DisplayMode } from '../display-mode';
import { ToolOptions } from '../tool-options';
import { ButtonFillMode, ButtonThemeColor } 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 Button tool for Angular]({% slug controltypes_toolbar %}#toc-buttons).
*
* Use this component to render a button inside the ToolBar.
*
* @example
* ```html
*
*
*
* ```
*
*/
export declare class ToolBarButtonComponent extends ToolBarToolComponent {
element: ElementRef;
private zone;
host: ToolBarComponent;
/**
* Specifies the button text visibility.
* Accepts a `DisplayMode` value.
* @default 'always'
*/
set showText(value: DisplayMode);
get showText(): DisplayMode;
/**
* Specifies the button icon visibility.
* Accepts a `DisplayMode` value.
* @default 'always'
*/
set showIcon(value: DisplayMode);
get showIcon(): DisplayMode;
/**
* Specifies the text of the Button
* ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
*/
set text(text: string);
get text(): string;
/**
* @hidden
*/
get size(): any;
/**
* Specifies custom inline CSS styles for the Button.
*/
style: {
[key: string]: string | number;
};
/**
* Specifies custom CSS class names to be added to the Button.
*/
className: string | Array | {
[key: string]: boolean;
};
/**
* Specifies the `title` attribute of the Button.
*/
title: string;
/**
* Disables the Button when set to `true`
* ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
*/
disabled: boolean;
/**
* Provides visual styling to indicate if the Button is active
* ([see example]({% slug controltypes_toolbar %}#toc-toggle-buttons)).
* For toggleable buttons, set this to `true`.
* @default false
*/
toggleable: boolean;
/**
* @hidden
*/
set look(look: 'default' | 'flat' | 'outline');
/**
* @hidden
*/
get togglable(): boolean;
set togglable(value: boolean);
/**
* Sets the selected state of the Button.
* Use with the `toggleable` property.
* @default false
*/
selected: boolean;
/**
* Specifies the background and border styles of the Button.
* Accepts a `ButtonFillMode` value.
* @default 'solid'
*/
fillMode: ButtonFillMode;
/**
* Specifies the predefined theme color of the Button.
* Accepts a `ButtonThemeColor` value.
* @default 'base'
*/
themeColor: ButtonThemeColor;
/**
* Defines the name for an existing icon in a Kendo UI theme
* ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
* The icon is rendered inside the Button by a `span.k-icon` element.
*/
set icon(icon: string);
/**
* Defines a CSS class or multiple classes to be applied to a `span` element inside the Button.
* Allows the usage of custom icons.
*/
set iconClass(iconClass: string);
/**
* Defines an SVGIcon to be rendered within the button.
* Accepts either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
*/
set svgIcon(icon: SVGIcon);
/**
* Defines a URL for an image to be rendered inside the Button.
* The URL can be relative or absolute.
*/
set imageUrl(imageUrl: string);
/**
* Fires each time the Button is clicked.
*/
click: EventEmitter;
/**
* Fires when the Button's `pointerdown` event is triggered.
*/
pointerdown: EventEmitter;
/**
* Fires each time the selected state of a toggleable Button is changed.
* The event argument is the new selected state (Boolean).
*/
selectedChange: EventEmitter;
toolbarOptions: ToolOptions;
overflowOptions: ToolOptions;
/**
* @hidden
*/
hasBadgeContainer: boolean;
/**
* @hidden
*/
showBadge: boolean;
toolbarButtonElement: ElementRef;
sectionButtonElement: ElementRef;
private overflowButtonElement;
private _showText;
private _showIcon;
private _text;
private propertyChangeSub;
constructor(element: ElementRef, zone: NgZone, host: ToolBarComponent);
ngOnInit(): void;
ngOnDestroy(): void;
/**
* @hidden
*/
onBlur(): void;
/**
* @hidden
*/
canFocus(): boolean;
/**
* @hidden
*/
focus(ev: Event): void;
/**
* @hidden
*/
handleKey(): boolean;
/**
* @hidden
*/
handleClick(ev: Event): void;
/**
* @hidden
*/
selectedChangeHandler(state: boolean): void;
/**
* @hidden
*/
getButton(): HTMLElement;
private setTextDisplayMode;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}