/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { DropDownButtonFocusEvent, DropDownButtonBlurEvent, DropDownButtonOpenEvent, DropDownButtonCloseEvent, DropDownButtonItemClickEvent } from './models/events';
import { PropType } from 'vue';
/**
 * @hidden
 */
export interface DropDownButtonData {
    focusedIndex?: number;
    focused?: boolean;
    currentOpened: boolean;
}
/**
 * @hidden
 */
export interface DropDownButtonComputed {
    [key: string]: any;
    computedOpened: boolean;
    wrapperClass: object;
}
/**
 * @hidden
 */
export interface DropDownButtonMethods {
    [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;
    dispatchPopupEvent: (dispatchedEvent: any, open: boolean) => void;
    isItemDisabled: (index: number) => boolean;
    isRtl: () => boolean;
}
/**
 * @hidden
 */
export interface DropDownButtonState {
    wrapper: HTMLDivElement | null;
    mainButton: any;
    guid: string;
    buttonsData: Array<any>;
    _anchor: string;
    kendoAnchorRef: any;
}
/**
 * @hidden
 */
declare const DropDownButton: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    accessKey: PropType<string>;
    items: {
        type: PropType<any[]>;
        default: () => any[];
    };
    ariaLabel: PropType<string>;
    text: PropType<any>;
    textField: PropType<string>;
    tabIndex: PropType<number>;
    disabled: PropType<boolean>;
    icon: PropType<string>;
    svgIcon: PropType<import('@progress/kendo-vue-common').SVGIcon>;
    iconClass: PropType<string>;
    imageUrl: PropType<string>;
    popupSettings: PropType<import('..').ButtonsPopupSettings>;
    itemRender: PropType<any>;
    item: PropType<any>;
    size: PropType<"small" | "medium" | "xs" | "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" | "error" | "inverse">;
        validator: (value: string) => boolean;
    };
    opened: {
        type: PropType<boolean>;
        default: any;
    };
    buttonClass: PropType<string>;
    dir: PropType<string>;
}>, {
    kendoAnchorRef: import('vue').Ref<any, any>;
}, {
    currentOpened: boolean;
    focused: boolean;
    focusedIndex: number;
}, {
    computedOpened(): boolean;
    wrapperClass(): {
        'k-dropdown-button': boolean;
        'k-focus': any;
    };
}, {
    element(): HTMLButtonElement | null;
    onKeyDown(event: any): void;
    onFocus(event: FocusEvent): void;
    onBlur(event: FocusEvent): void;
    createBlurTimeout(event: FocusEvent): void;
    onItemClick(event: any, clickedItemIndex: number): void;
    onItemDown(event: any): void;
    mouseDown(event: any): void;
    dispatchClickEvent(dispatchedEvent: any, index: number): void;
    onClickMainButton(event: any): void;
    dispatchPopupEvent(dispatchedEvent: any, open: boolean): void;
    isItemDisabled(index: number): any;
    isRtl(): boolean;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    focus: (event: DropDownButtonFocusEvent) => true;
    blur: (event: DropDownButtonBlurEvent) => true;
    itemclick: (event: DropDownButtonItemClickEvent) => true;
    open: (event: DropDownButtonOpenEvent) => true;
    close: (event: DropDownButtonCloseEvent) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    accessKey: PropType<string>;
    items: {
        type: PropType<any[]>;
        default: () => any[];
    };
    ariaLabel: PropType<string>;
    text: PropType<any>;
    textField: PropType<string>;
    tabIndex: PropType<number>;
    disabled: PropType<boolean>;
    icon: PropType<string>;
    svgIcon: PropType<import('@progress/kendo-vue-common').SVGIcon>;
    iconClass: PropType<string>;
    imageUrl: PropType<string>;
    popupSettings: PropType<import('..').ButtonsPopupSettings>;
    itemRender: PropType<any>;
    item: PropType<any>;
    size: PropType<"small" | "medium" | "xs" | "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" | "error" | "inverse">;
        validator: (value: string) => boolean;
    };
    opened: {
        type: PropType<boolean>;
        default: any;
    };
    buttonClass: PropType<string>;
    dir: PropType<string>;
}>> & Readonly<{
    onBlur?: (event: DropDownButtonBlurEvent) => any;
    onClose?: (event: DropDownButtonCloseEvent) => any;
    onFocus?: (event: DropDownButtonFocusEvent) => any;
    onOpen?: (event: DropDownButtonOpenEvent) => any;
    onItemclick?: (event: DropDownButtonItemClickEvent) => any;
}>, {
    items: any[];
    opened: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { DropDownButton };
