import { I18nString } from '@textbus/core'; import { Tool, ToolFactory, ToolFactoryParams } from '../help'; import { ButtonToolConfig } from './button-tool'; import { ActionSheetToolConfig } from './action-sheet-tool'; import { SelectToolConfig } from './select-tool'; import { Matcher } from '../matcher/matcher'; import { DropdownToolConfig } from './dropdown-tool'; import { FormToolConfig } from './form-tool'; export declare enum MenuType { Action = 0, Select = 1, ActionSheet = 2, Dropdown = 3, Form = 4 } export interface ActionMenu extends ButtonToolConfig { type: MenuType.Action; } export interface SelectMenu extends SelectToolConfig { type: MenuType.Select; label: I18nString; } export interface ActionSheetMenu extends ActionSheetToolConfig { type: MenuType.ActionSheet; } export interface DropdownMenu extends DropdownToolConfig { type: MenuType.Dropdown; } export interface FormMenu extends FormToolConfig { type: MenuType.Form; } /** * 群组工具配置 */ export interface GroupConfig { /** 工具显示的文字 */ label?: I18nString; /** 工具按扭的 class */ classes?: string[]; /** 工具按扭 icon class */ iconClasses?: string[]; /** 鼠标放置在工具上时的提示文字 */ tooltip?: I18nString; /** 工具集合 */ menu: Array; /** 状态查询器 */ matcher?: Matcher; } export declare class GroupTool implements ToolFactory { private config; private dropdown; private subs; constructor(config: GroupConfig); create(params: ToolFactoryParams, addTool: (tool: Tool) => void): HTMLElement; onDestroy(): void; private createButton; private createSelect; private createActions; private createDropdown; private createForm; }