1- interface  OverTypeOptions  { 
1+ // Type definitions for OverType 
2+ // Project: https://github.com/panphora/overtype 
3+ // Definitions generated from JSDoc comments and implementation 
4+ 
5+ export  interface  Theme  { 
6+   name : string ; 
7+   colors : { 
8+     bgPrimary ?: string ; 
9+     bgSecondary ?: string ; 
10+     text ?: string ; 
11+     textSecondary ?: string ; 
12+     h1 ?: string ; 
13+     h2 ?: string ; 
14+     h3 ?: string ; 
15+     strong ?: string ; 
16+     em ?: string ; 
17+     link ?: string ; 
18+     code ?: string ; 
19+     codeBg ?: string ; 
20+     blockquote ?: string ; 
21+     hr ?: string ; 
22+     syntaxMarker ?: string ; 
23+     listMarker ?: string ; 
24+     cursor ?: string ; 
25+     selection ?: string ; 
26+     rawLine ?: string ; 
27+     // Toolbar theme colors 
28+     toolbarBg ?: string ; 
29+     toolbarIcon ?: string ; 
30+     toolbarHover ?: string ; 
31+     toolbarActive ?: string ; 
32+     border ?: string ; 
33+   } ; 
34+ } 
35+ 
36+ export  interface  Stats  { 
37+   words : number ; 
38+   chars : number ; 
39+   lines : number ; 
40+   line : number ; 
41+   column : number ; 
42+ } 
43+ 
44+ export  interface  MobileOptions  { 
245  fontSize ?: string ; 
3-   lineHeight ?: number ; 
46+   padding ?: string ; 
47+   lineHeight ?: string  |  number ; 
48+ } 
49+ 
50+ export  interface  Options  { 
51+   // Typography 
52+   fontSize ?: string ; 
53+   lineHeight ?: string  |  number ; 
454  fontFamily ?: string ; 
5-   theme ?: string  |  ThemeObject ; 
55+   padding ?: string ; 
56+ 
57+   // Mobile responsive 
58+   mobile ?: MobileOptions ; 
59+ 
60+   // Native textarea attributes (v1.1.2+) 
61+   textareaProps ?: Record < string ,  any > ; 
62+ 
63+   // Behavior 
664  autofocus ?: boolean ; 
65+   autoResize ?: boolean ;       // v1.1.2+ Auto-expand height with content 
66+   minHeight ?: string ;          // v1.1.2+ Minimum height for autoResize mode 
67+   maxHeight ?: string  |  null ;   // v1.1.2+ Maximum height for autoResize mode 
768  placeholder ?: string ; 
869  value ?: string ; 
9-    autoResize ?:  boolean ; 
10-   minHeight ?:  string ; 
11-   maxHeight ?: string ; 
12-   padding ?: string ; 
70+ 
71+   // Features 
72+   showActiveLineRaw ?: boolean ; 
73+   showStats ?: boolean ; 
1374  toolbar ?: boolean ; 
14-   onChange ?: ( value : string )  =>  void ; 
15-   onKeydown ?: ( event : KeyboardEvent )  =>  void ; 
75+   statsFormatter ?: ( stats : Stats )  =>  string ; 
76+ 
77+   // Theme (deprecated in favor of global theme) 
78+   theme ?: string  |  Theme ; 
79+   colors ?: Partial < Theme [ 'colors' ] > ; 
80+ 
81+   // Callbacks 
82+   onChange ?: ( value : string ,  instance : OverTypeInstance )  =>  void ; 
83+   onKeydown ?: ( event : KeyboardEvent ,  instance : OverTypeInstance )  =>  void ; 
1684} 
1785
18- interface  ThemeObject  { 
19-   [ key : string ] : string ; 
86+ // Interface for constructor that returns array 
87+ export  interface  OverTypeConstructor  { 
88+   new ( target : string  |  Element  |  NodeList  |  Element [ ] ,  options ?: Options ) : OverTypeInstance [ ] ; 
89+   // Static members 
90+   instances : WeakMap < Element ,  OverTypeInstance > ; 
91+   stylesInjected : boolean ; 
92+   globalListenersInitialized : boolean ; 
93+   instanceCount : number ; 
94+   currentTheme : Theme ; 
95+   themes : { 
96+     solar : Theme ; 
97+     cave : Theme ; 
98+   } ; 
99+   MarkdownParser : any ; 
100+   ShortcutsManager : any ; 
101+   init ( target : string  |  Element  |  NodeList  |  Element [ ] ,  options ?: Options ) : OverTypeInstance [ ] ; 
102+   getInstance ( element : Element ) : OverTypeInstance  |  null ; 
103+   destroyAll ( ) : void ; 
104+   injectStyles ( force ?: boolean ) : void ; 
105+   setTheme ( theme : string  |  Theme ,  customColors ?: Partial < Theme [ 'colors' ] > ) : void ; 
106+   initGlobalListeners ( ) : void ; 
107+   getTheme ( name : string ) : Theme ; 
20108} 
21109
22- class  OverType  { 
23-   constructor ( 
24-     target : string  |  Element  |  NodeList  |  Element [ ] , 
25-     options ?: OverTypeOptions 
26-   ) ; 
110+ export  interface  OverTypeInstance  { 
111+   // Public properties 
112+   container : HTMLElement ; 
113+   wrapper : HTMLElement ; 
114+   textarea : HTMLTextAreaElement ; 
115+   preview : HTMLElement ; 
116+   statsBar ?: HTMLElement ; 
117+   toolbar ?: any ;  // Toolbar instance 
118+   shortcuts ?: any ;  // ShortcutsManager instance 
119+   linkTooltip ?: any ;  // LinkTooltip instance 
120+   options : Options ; 
121+   initialized : boolean ; 
122+   instanceId : number ; 
123+   element : Element ; 
27124
125+   // Public methods 
28126  getValue ( ) : string ; 
29127  setValue ( value : string ) : void ; 
30-   getRenderedHTML ( processContent ?: boolean ) : string ; 
31-   getPreviewHTML ( ) : string ; 
32-   static  setTheme ( theme : string  |  ThemeObject ) : void ; 
128+   getStats ( ) : Stats ; 
129+   getContainer ( ) : HTMLElement ; 
130+   focus ( ) : void ; 
131+   blur ( ) : void ; 
132+   destroy ( ) : void ; 
133+   isInitialized ( ) : boolean ; 
134+   reinit ( options : Options ) : void ; 
33135  showStats ( show : boolean ) : void ; 
34-   showPlainTextarea ( show : boolean ) : void ; 
35-   showPreviewMode ( show : boolean ) : void ; 
36- 
37-   static  init ( selector : string ,  options ?: OverTypeOptions ) : OverType [ ] ; 
136+   setTheme ( theme : string  |  Theme ) : void ; 
137+   updatePreview ( ) : void ; 
38138} 
39139
40- export  =  OverType ; 
140+ // Declare the constructor as a constant with proper typing 
141+ declare  const  OverType : OverTypeConstructor ; 
142+ 
143+ // Export the instance type under a different name for clarity 
144+ export  type  OverType  =  OverTypeInstance ; 
145+ 
146+ // Module exports - default export is the constructor 
147+ export  default  OverType ; 
0 commit comments