import { IWorkspaceDir , IFileMeta } from "@common/files" ; import { IDoc } from "@common/doctypes/doctypes" ; import { IDisposable } from "@common/types" ; export interface WorkspacePlugin extends IDisposable { plugin_name : string ; handleWorkspaceClosed ( dir ) : void ; handleWorkspaceOpen ( dir ) : void ; todo handleFileDeleted ( filePath , fileHash ) : void ; handleFileCreated ( fileMeta , contents ) : void ; handleFileChanged ( fileMeta , contents ) : void ; serialize ( ) : string ; deserialize ( serialized ) : WorkspacePlugin ; }