import { ButtonProps, Space } from 'antd';
import { ReactNode } from 'react';
/**
* 预设操作按钮类型
*
* 每种 actionType 预设了按钮文字、图标和样式,无需手动设置 children。
*/
export declare const SButtonActionTypes: ["save", "cancel", "reset", "upload", "download", "export", "import", "delete", "view", "back", "next", "previous", "finish", "create", "edit", "confirm", "close", "refresh", "search", "t-link"];
/**
* 预设操作按钮类型
*
* 可选值: `'save'` | `'cancel'` | `'reset'` | `'upload'` | `'download'` | `'export'` |
* `'import'` | `'delete'` | `'view'` | `'back'` | `'next'` | `'previous'` |
* `'finish'` | `'create'` | `'edit'` | `'confirm'` | `'close'` | `'refresh'` |
* `'search'` | `'t-link'`
*/
export type SButtonActionType = (typeof SButtonActionTypes)[number];
/**
* SButton 增强按钮 Props
*
* 继承 antd Button,增加了 actionType 预设类型和 compact 紧凑模式。
*
* @example
* ```tsx
*
*
* 自定义文字
* ```
*/
export interface SButtonProps extends ButtonProps {
/** antd 按钮类型 */
type?: ButtonProps['type'];
/** 预设操作类型,自动设置文字和样式 */
actionType?: SButtonActionType;
/** 紧凑模式,样式与 t-link 相同 */
compact?: boolean;
}
/**
* SButton.Group 中单个按钮的配置
*/
export interface SButtonsItem extends Partial {
key?: React.Key;
/** 是否可见 */
visible?: boolean;
/** 自定义渲染 */
render?: ReactNode | (() => ReactNode);
}
/**
* SButton.Group 按钮组 Props
*
* @example
* ```tsx
*
* ```
*/
export interface SButtonsProps {
/** 按钮配置数组 */
items?: SButtonsItem[];
/** 统一尺寸 */
size?: SButtonProps['size'];
/** Space 组件属性 */
spaceProps?: React.ComponentProps;
/** 统一禁用 */
disabled?: boolean;
/** 统一 loading */
loading?: boolean;
}