import { TextEditor , TextDocumentContentChangeEvent } from 'vscode' ; import { VSCodeApi } from '../Api/VSCodeApi' ; import { Configuration } from '../Entity/Config/Contributes/Configuration' ; export enum CodeType { None = 'none' , Comment = 'comment' , Namespace = 'namespace' , Class = 'class' , Interface = 'interface' , Struct = 'struct' , Enum = 'enum' , Delegate = 'delegate' , Field = 'field' , Property = 'property' , Method = 'method' , Event = 'event' } export interface IDocommentDomain { _event : TextDocumentContentChangeEvent ; _vsCodeApi : VSCodeApi ; _activeEditor : TextEditor ; _config : Configuration ; Execute ( activeEditor , event , languageId , config ) ; Init ( ) ; IsTriggerDocomment ( ) : boolean ; IsInScope ( ) : boolean ; GetCode ( ) : string ; GetCodeType ( code ) : CodeType ; GeneDocomment ( code , codeType ) : string ; WriteDocomment ( code , codeType , docommnet ) : void ; MoveCursorTo ( code , codeType , docommnet ) : void ; dispose ( ) : void ; }