/// import type { PromiseType } from '../../../util'; interface IBase { /** * @description 按钮唯一id */ id: string; /** * @description 按钮文本 */ text: string; } interface IButton extends IBase { /** * @description 按钮图标 */ icon?: string | React.ReactNode; /** * @description id 按钮id,text 按钮显示文本 toolbar 工具条实例 data 注入的业务数据,由getData返回 */ onClick: (params: { id: string; text: string; toolbar: any; data: any; }) => PromiseType; /** * @description 点击事件的前置事件,返回false取消向下执行 */ before?: (params: { id: string; text: string; toolbar: any; data: any; }) => PromiseType; /** * @description 点击事件的后置事件,value属性为click事件的返回值,其他属性同click */ after?: (params: { id: string; text: string; toolbar: any; data: any; value: any; }) => PromiseType; } interface IGroup extends IBase { /** * @description 子菜单 */ children: Array; } type RegButtonType = IButton | IGroup; /** * 注册业务按钮(重写内置按钮) * @param buttons 需要注入的按钮对象 */ declare function registerToolBarButton(buttons: RegButtonType[]): void; /** * * @param buttonId 返回注入的业务button * @returns */ declare function getToolBarButton(buttonId: string): RegButtonType | undefined; export { registerToolBarButton, getToolBarButton };