/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { PropType } from 'vue'; import { SplitButtonClickEvent, SplitButtonItemClickEvent, SplitButtonFocusEvent, SplitButtonBlurEvent, SplitButtonOpenEvent, SplitButtonCloseEvent } from './models/events'; /** * @hidden */ export interface SplitButtonData { focusedIndex?: number; focused?: boolean; currentOpened: boolean; } /** * @hidden */ export interface SplitButtonComputed { [key: string]: any; computedOpened: boolean; wrapperClass: object; } /** * @hidden */ export interface SplitButtonMethods { [key: string]: any; element: () => HTMLButtonElement | null; onKeyDown: (event: any) => void; onFocus: (event: any) => void; onBlur: (event: any) => void; onItemClick: (event: any, clickedItemIndex: number) => void; onItemDown: (event: any) => void; mouseDown: (event: any) => void; dispatchClickEvent: (dispatchedEvent: any, index: number) => void; onClickMainButton: () => void; onDownSplitPart: () => void; onSplitPartClick: (event: any) => void; dispatchPopupEvent: (dispatchedEvent: any, open: boolean) => void; isItemDisabled: (index: number) => boolean; isRtl: () => boolean; } /** * @hidden */ export interface SplitButtonState { mainButton: any; guid: string; buttonsData: Array; _anchor: string; kendoAnchorRef: any; } /** * @hidden */ declare const SplitButton: import('vue').DefineComponent; ariaLabel: PropType; text: PropType; items: { type: PropType; default: () => any[]; }; textField: PropType; tabIndex: PropType; disabled: PropType; icon: PropType; svgIcon: PropType; size: PropType<"small" | "medium" | "large">; rounded: PropType<"small" | "medium" | "large" | "full" | "none">; fillMode: { type: PropType<"flat" | "link" | "solid" | "outline">; validator: (value: string) => boolean; }; themeColor: { type: PropType<"base" | "primary" | "secondary" | "tertiary" | "info" | "success" | "warning" | "dark" | "light" | "inverse">; validator: (value: string) => boolean; }; opened: { type: PropType; default: any; }; iconClass: PropType; imageUrl: PropType; popupSettings: PropType; itemRender: PropType; item: PropType; className: PropType; buttonClass: PropType; dir: PropType; }>, { kendoAnchorRef: import('vue').Ref; }, { focused: boolean; focusedIndex: number; currentOpened: boolean; }, { computedOpened(): boolean; wrapperClass(): { 'k-split-button': boolean; 'k-button-group': boolean; 'k-focus': any; }; }, { element(): HTMLButtonElement | null; onKeyDown(event: any): void; onFocus(event: FocusEvent): void; onItemClick(event: any, clickedItemIndex: number): void; onBlur(event: FocusEvent): void; createBlurTimeout(event: FocusEvent): void; dispatchClickEvent(dispatchedEvent: any, clickedItemIndex: number): void; onSplitPartClick(event: any): void; onDownSplitPart(event: any): void; onItemDown(event: any): void; dispatchPopupEvent(dispatchedEvent: any, open?: boolean): void; isItemDisabled(index: number): any; isRtl(): boolean; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { focus: (event: SplitButtonFocusEvent) => true; blur: (event: SplitButtonBlurEvent) => true; buttonclick: (event: SplitButtonClickEvent) => true; itemclick: (event: SplitButtonItemClickEvent) => true; open: (event: SplitButtonOpenEvent) => true; close: (event: SplitButtonCloseEvent) => true; }, string, import('vue').PublicProps, Readonly; ariaLabel: PropType; text: PropType; items: { type: PropType; default: () => any[]; }; textField: PropType; tabIndex: PropType; disabled: PropType; icon: PropType; svgIcon: PropType; size: PropType<"small" | "medium" | "large">; rounded: PropType<"small" | "medium" | "large" | "full" | "none">; fillMode: { type: PropType<"flat" | "link" | "solid" | "outline">; validator: (value: string) => boolean; }; themeColor: { type: PropType<"base" | "primary" | "secondary" | "tertiary" | "info" | "success" | "warning" | "dark" | "light" | "inverse">; validator: (value: string) => boolean; }; opened: { type: PropType; default: any; }; iconClass: PropType; imageUrl: PropType; popupSettings: PropType; itemRender: PropType; item: PropType; className: PropType; buttonClass: PropType; dir: PropType; }>> & Readonly<{ onBlur?: (event: SplitButtonBlurEvent) => any; onClose?: (event: SplitButtonCloseEvent) => any; onFocus?: (event: SplitButtonFocusEvent) => any; onOpen?: (event: SplitButtonOpenEvent) => any; onItemclick?: (event: SplitButtonItemClickEvent) => any; onButtonclick?: (event: SplitButtonClickEvent) => any; }>, { items: any[]; opened: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { SplitButton };