/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { default as PropTypes } from 'prop-types'; import { SplitButtonProps } from './models/ListButtonProps'; import * as React from 'react'; /** * @hidden */ export interface SplitButtonState { focusedIndex?: number; focused?: boolean; opened?: boolean; } /** * Represents the [KendoReact SplitButton component](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton). * * @example * ```jsx * const App = () => { * return ( * * * * * * ); * } * ``` */ export declare class SplitButton extends React.Component { /** * @hidden */ static propTypes: { accessKey: PropTypes.Requireable; ariaLabel: PropTypes.Requireable; title: PropTypes.Requireable; onButtonClick: PropTypes.Requireable<(...args: any[]) => any>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; onItemClick: PropTypes.Requireable<(...args: any[]) => any>; onOpen: PropTypes.Requireable<(...args: any[]) => any>; onClose: PropTypes.Requireable<(...args: any[]) => any>; text: PropTypes.Requireable; items: PropTypes.Requireable; textField: PropTypes.Requireable; tabIndex: PropTypes.Requireable; disabled: PropTypes.Requireable; icon: PropTypes.Requireable; svgIcon: PropTypes.Requireable; content: PropTypes.Validator; viewBox: PropTypes.Validator; }>>; arrowButtonIcon: PropTypes.Requireable; arrowButtonSvgIcon: PropTypes.Requireable; content: PropTypes.Validator; viewBox: PropTypes.Validator; }>>; imageUrl: PropTypes.Requireable; popupSettings: PropTypes.Requireable; itemRender: PropTypes.Requireable; item: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable; buttonClass: PropTypes.Requireable; dir: PropTypes.Requireable; size: PropTypes.Requireable; rounded: PropTypes.Requireable; fillMode: PropTypes.Requireable; themeColor: PropTypes.Requireable; }; /** * @hidden */ static defaultProps: { size: undefined; rounded: undefined; fillMode: undefined; themeColor: undefined; }; /** * @hidden */ readonly state: { focused: boolean; focusedIndex: number; opened: boolean; }; private wrapper; private mainButton; private list; private get guid(); private skipFocus; private buttonsData; private openedDuringOnChange?; private readonly showLicenseWatermark; private readonly licenseMessage?; constructor(props: SplitButtonProps); private get opened(); /** * @hidden */ render(): React.JSX.Element; /** * @hidden */ componentDidMount(): void; /** * The DOM element of main button. */ get element(): HTMLButtonElement | null; private onKeyDown; private switchFocus; private onFocus; private setOpen; private onItemClick; private onBlur; private dispatchClickEvent; private renderPopup; private onPopupClose; private listRef; private renderChildItems; private onSplitPartClick; private onDownSplitPart; private onItemDown; private dispatchPopupEvent; private isItemDisabled; private isRtl; } /** * Represent the `ref` of the SplitButton component. */ export interface SplitButtonHandle extends Pick { /** * The DOM element of main button. */ element: HTMLButtonElement | null; /** * The props of the SplitButtonHandle component. */ props: Readonly; }