import * as Y from 'yjs';
import EventEmitter from 'eventemitter3';
import type { WhiteboardToolType } from '../WhiteboardApplication';
export interface ToolbarEvents {
    update: (style: ToolbarStyle) => void;
}
export declare const TOOLBAR_KEYS: {
    tool: string;
    fontSize: string;
    fontFamily: string;
    strokeColor: string;
    fillColor: string;
    strokeWidth: string;
    dashArray: string;
};
export type ToolbarStyle = {
    /**
     * 当前选中的工具
     */
    tool: WhiteboardToolType;
    /**
     * 字体大小, 默认 24
     */
    fontSize: number;
    /**
     * 字体名称, 默认 "Courier New"
     */
    fontFamily: string;
    /**
     * 描边颜色, 默认 "#009688"
     */
    strokeColor: string;
    /**
     * 填充颜色, 默认 null
     */
    fillColor: string | null;
    /**
     * 描边宽度, 默认 4
     */
    strokeWidth: number;
    /**
     * 虚线配置, 默认 [], 空数组表示实线
     */
    dashArray: number[];
};
export declare class ToolbarModel extends EventEmitter<ToolbarEvents> {
    private root;
    get currentTool(): WhiteboardToolType;
    set currentTool(value: WhiteboardToolType);
    get fontSize(): number;
    set fontSize(value: number);
    get dashArray(): number[];
    set dashArray(value: number[]);
    get fontFamily(): string;
    set fontFamily(value: string);
    get strokeColor(): string;
    set strokeColor(value: string);
    get fillColor(): string | null;
    set fillColor(value: string | null);
    get strokeWidth(): number;
    set strokeWidth(value: number);
    constructor(root: Y.Map<any>, defaultStyle: ToolbarStyle);
    private handleRootUpdate;
    dispose(): void;
}
//# sourceMappingURL=ToolbarModel.d.ts.map