import { ExtractPropTypes } from 'vue'; import { PropType } from '@opentiny/vue-common'; import { IButtonGroupNode as IButtonGroupNode$1 } from '@opentiny/vue-renderless/types/button-group.type'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from './shared.type.js'; declare const buttonGroupProps: { size: { type: StringConstructor; default: string; validator: (val: string) => boolean; }; data: { type: PropType; default: () => never[]; }; plain: BooleanConstructor; modelValue: (StringConstructor | NumberConstructor)[]; disabled: BooleanConstructor; valueField: { type: StringConstructor; default: string; }; textField: { type: StringConstructor; default: string; }; showMore: NumberConstructor; showEdit: { type: BooleanConstructor; default: boolean; }; border: { type: BooleanConstructor; default: boolean; }; tiny_mode: StringConstructor; tiny_mode_root: BooleanConstructor; tiny_template: (FunctionConstructor | ObjectConstructor)[]; tiny_renderless: FunctionConstructor; tiny_theme: StringConstructor; tiny_mcp_config: ObjectConstructor; tiny_chart_theme: ObjectConstructor; }; /** * Copyright (c) 2022 - present TinyVue Authors. * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. * * Use of this source code is governed by an MIT-style license. * * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. * */ declare const handleChange: ({ emit, state }: Pick) => () => void; declare const handleClick: ({ emit, props, state }: Pick) => (node: IButtonGroupNode) => void; declare const moreNodeClick: ({ emit, props, state }: Pick) => (node: IButtonGroupNode) => void; declare const getItemClass: ({ props, state }: Pick) => (node: IButtonGroupNode) => IButtonGroupItemClass; type IButtonGroupProps = ExtractPropTypes; interface IButtonGroupItemClass { disabled?: boolean; plain?: boolean; medium?: boolean; small?: boolean; mini?: boolean; } interface IButtonGroupNode { text?: string; value?: string; disabled?: boolean; [otherKey: string]: any; } interface IButtonGroupState { value: IButtonGroupProps['modelValue']; buttonData: IButtonGroupNode[]; moreData: IButtonGroupNode[]; formDisabled: boolean; disabled: boolean; } type IButtonGroupRenderlessParams = ISharedRenderlessFunctionParams & { state: IButtonGroupState; props: IButtonGroupProps; }; interface IButtonGroupApi { state: IButtonGroupState; handleChange: ReturnType; handleClick: ReturnType; moreNodeClick: ReturnType; getItemClass: ReturnType; } type IButtonGroupRenderlessParamUtils = ISharedRenderlessParamUtils; export { IButtonGroupApi, IButtonGroupItemClass, IButtonGroupNode, IButtonGroupProps, IButtonGroupRenderlessParamUtils, IButtonGroupRenderlessParams, IButtonGroupState };