/**
 * @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 { SegmentedControlState, SegmentedItemProps } from './interfaces';
/**
 * Represents the Kendo UI for Vue SegmentedControl component.
 *
 * The SegmentedControl displays a horizontal set of mutually exclusive button segments,
 * allowing the user to select one option at a time.
 * @hidden
 */
declare const SegmentedControl: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    items: {
        type: PropType<SegmentedItemProps[]>;
        default: () => any[];
    };
    size: PropType<"small" | "medium" | "xs" | "large">;
    layoutMode: {
        type: PropType<"stretch" | "compact">;
        default: string;
    };
    value: PropType<string>;
    defaultValue: PropType<string>;
    itemTemplate: PropType<string | ((itemData: SegmentedItemProps) => any)>;
}>, {}, {
    interactionState: SegmentedControlState;
}, {
    selectedItemValue(): string | undefined;
    sizeClass(): string | undefined;
    buttonClass(): (itemValue: string, disabled: boolean | undefined, isSelected: boolean) => string;
    iconClass(): (iconClassName: string | undefined, isSelected: boolean) => string;
}, {
    updateThumbPosition(): void;
    updateState(state: Partial<SegmentedControlState>): void;
    handleButtonClick(itemData: SegmentedItemProps, e: MouseEvent): void;
    handleMouseEnter(itemValue: string, disabled: boolean | undefined, onMouseEnter: (e: MouseEvent) => void, e: MouseEvent): void;
    handleMouseLeave(onMouseLeave: (e: MouseEvent) => void, e: MouseEvent): void;
    handleFocus(itemValue: string, onFocus: (e: FocusEvent) => void, e: FocusEvent): void;
    handleBlur(onBlur: (e: FocusEvent) => void, e: FocusEvent): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    change: (value: string) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    items: {
        type: PropType<SegmentedItemProps[]>;
        default: () => any[];
    };
    size: PropType<"small" | "medium" | "xs" | "large">;
    layoutMode: {
        type: PropType<"stretch" | "compact">;
        default: string;
    };
    value: PropType<string>;
    defaultValue: PropType<string>;
    itemTemplate: PropType<string | ((itemData: SegmentedItemProps) => any)>;
}>> & Readonly<{
    onChange?: (value: string) => any;
}>, {
    items: SegmentedItemProps[];
    layoutMode: "stretch" | "compact";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { SegmentedControl };
export type { SegmentedControlProps, SegmentedItemProps } from './interfaces';
