/**
 * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { ExtractPropTypes, PropType } from 'vue';
/**
 * 按钮显示样式类型。
 */
export type ButtonType = 'primary' | 'warning' | 'danger' | 'success' | 'link' | 'secondary';
/**
 * 按钮尺寸类型。
 */
export type ButtonSize = 'small' | 'large' | 'middle';
/**
 * Button 组件的 props 配置对象。
 *
 * @remarks
 * 用于触发操作的基础交互按钮，支持 primary、warning、danger 等多种类型，
 * 以及 small / middle / large 三种尺寸。
 */
export declare const buttonProps: {
    /**
     * 组件唯一标识。
     */
    id: StringConstructor;
    /**
     * 按钮显示样式。
     *
     * @default 'primary'
     */
    type: {
        type: PropType<ButtonType>;
        default: string;
    };
    /**
     * 是否禁用按钮。
     *
     * @default false
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 按钮尺寸，可选 small、middle、large。
     *
     * @default 'middle'
     */
    size: {
        type: PropType<ButtonSize>;
        default: string;
    };
    /**
     * 按钮图标类名。
     *
     * @default ''
     */
    icon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 按钮文本。
     *
     * @default ''
     */
    text: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 自定义 CSS 类名。
     *
     * @default ''
     */
    customClass: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 自定义内联样式。
     *
     * @default ''
     */
    customStyle: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 控制按钮是否可见。
     *
     * @default true
     */
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
};
/**
 * Button 组件 props 的推导类型。
 */
export type ButtonProps = ExtractPropTypes<typeof buttonProps>;
export declare const propsResolver: (schemaValue?: Record<string, any>, mergeDefaults?: boolean) => Record<string, any>;
