export type CanvasModeStyles = { editableOutline: string; uneditableOutline: string; }; export type ToggleCanvasModeEvent = { type: 'mocha:canvas:toggle-canvas-mode'; isEnabled: boolean; styles: CanvasModeStyles; }; export type UpdateElementEvent = { type: 'mocha:canvas:update-element'; elementId: string; text: string; }; export type FileUpdatedEvent = { type: 'mocha:canvas:file-updated'; path: string; content: string; }; export type OpenUpdateElementModalEvent = { type: 'mocha:canvas:open-update-element-modal'; elementId: string; isEditable: boolean; text: string; elementRect: DOMRect; clickPosition: { clientX: number; clientY: number; }; }; export type CanvasModeInstalledEvent = { type: 'mocha:canvas:installed'; appId: string; isEnabled: boolean; }; export type CanvasModeClientMessage = ToggleCanvasModeEvent | UpdateElementEvent;