1
+ interface EvalHelper { }
2
+ interface ActiveEvalEmitter {
3
+ removeAllListeners ( event ?: string ) : void ;
4
+ emit ( event : string , ...args : any [ ] ) : void ;
5
+ on ( event : string , cb : ( ...args : any [ ] ) => void ) : void ;
6
+ }
7
+ interface Disposer {
8
+ onDidDispose : ( cb : ( ) => void ) => void ;
9
+ dispose ( ) : void ;
10
+ }
11
+ interface IdeApi {
12
+ readonly client : {
13
+ run ( func : ( helper : ActiveEvalEmitter ) => Disposer ) : ActiveEvalEmitter ;
14
+ run < T1 > ( func : ( helper : ActiveEvalEmitter , a1 : T1 ) => Disposer , a1 : T1 ) : ActiveEvalEmitter ;
15
+ run < T1 , T2 > ( func : ( helper : ActiveEvalEmitter , a1 : T1 , a2 : T2 ) => Disposer , a1 : T1 , a2 : T2 ) : ActiveEvalEmitter ;
16
+ run < T1 , T2 , T3 > ( func : ( helper : ActiveEvalEmitter , a1 : T1 , a2 : T2 , a3 : T3 ) => Disposer , a1 : T1 , a2 : T2 , a3 : T3 ) : ActiveEvalEmitter ;
17
+ run < T1 , T2 , T3 , T4 > ( func : ( helper : ActiveEvalEmitter , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 ) => Disposer , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 ) : ActiveEvalEmitter ;
18
+ run < T1 , T2 , T3 , T4 , T5 > ( func : ( helper : ActiveEvalEmitter , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 ) => Disposer , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 ) : ActiveEvalEmitter ;
19
+ run < T1 , T2 , T3 , T4 , T5 , T6 > ( func : ( helper : ActiveEvalEmitter , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 , a6 : T6 ) => Disposer , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 , a6 : T6 ) : ActiveEvalEmitter ;
20
+
21
+ evaluate < R > ( func : ( helper : EvalHelper ) => R | Promise < R > ) : Promise < R > ;
22
+ evaluate < R , T1 > ( func : ( helper : EvalHelper , a1 : T1 ) => R | Promise < R > , a1 : T1 ) : Promise < R > ;
23
+ evaluate < R , T1 , T2 > ( func : ( helper : EvalHelper , a1 : T1 , a2 : T2 ) => R | Promise < R > , a1 : T1 , a2 : T2 ) : Promise < R > ;
24
+ evaluate < R , T1 , T2 , T3 > ( func : ( helper : EvalHelper , a1 : T1 , a2 : T2 , a3 : T3 ) => R | Promise < R > , a1 : T1 , a2 : T2 , a3 : T3 ) : Promise < R > ;
25
+ evaluate < R , T1 , T2 , T3 , T4 > ( func : ( helper : EvalHelper , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 ) => R | Promise < R > , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 ) : Promise < R > ;
26
+ evaluate < R , T1 , T2 , T3 , T4 , T5 > ( func : ( helper : EvalHelper , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 ) => R | Promise < R > , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 ) : Promise < R > ;
27
+ evaluate < R , T1 , T2 , T3 , T4 , T5 , T6 > ( func : ( helper : EvalHelper , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 , a6 : T6 ) => R | Promise < R > , a1 : T1 , a2 : T2 , a3 : T3 , a4 : T4 , a5 : T5 , a6 : T6 ) : Promise < R > ;
28
+ } ;
29
+ readonly workbench : {
30
+ getService < T > ( identifier : any ) : T | undefined ;
31
+ } ;
32
+ }
33
+
34
+ declare interface Window {
35
+ ide ?: IdeApi ;
36
+
37
+ addEventListener ( event : "ide-ready" , callback : ( ide : CustomEvent & { readonly ide : IdeApi } ) => void ) : void ;
38
+ }
0 commit comments