UNPKG

1.94 kBTypeScriptView Raw
1interface Element {
2 /**
3 * Schedule this element to render after imba.commit()
4 */
5 schedule(): this;
6 unschedule(): this;
7 data: any;
8 hotkey: any;
9 hotkey__: any;
10 route: any;
11 route__: any;
12 $key: any;
13 emit(event:string, params?: any, options?: any): Event;
14 focus(options?: any): void;
15 blur(): void;
16
17 [key: string]: any;
18
19 setAttribute(name: string, value: boolean): void;
20 setAttribute(name: string, value: number): void;
21}
22
23interface ImbaElement implements Element {
24 [key: string]: any;
25}
26
27interface ImbaAnyElement implements ImbaElement {
28 [key: string]: any;
29}
30
31interface ImbaStyles {
32 [key: string]: any;
33}
34
35interface ImbaAsset {
36 body: string;
37 url: string;
38 absPath: string;
39 path: string;
40}
41
42
43interface ImbaContext {
44 setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
45 setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
46 clearInterval(handle?: number): void;
47 clearTimeout(handle?: number): void;
48 commit(): Promise<this>;
49 render(): Promise<this>;
50
51 mount<T>(element: T): T;
52
53 styles: ImbaStyles;
54
55 createIndexedFragment(...arguments: any[]): DocumentFragment;
56 createKeyedFragment(...arguments: any[]): DocumentFragment;
57 createLiveFragment(...arguments: any[]): DocumentFragment;
58
59 emit(source: any, event:string, params: any[]): void;
60 listen(target: any, event:string, listener:any, path?: any): void;
61 once(target: any, event:string, listener:any, path?: any): void;
62 unlisten(target: any, event:string, listener:any, path?: any): void;
63 indexOf(target: any, source:any): boolean;
64
65 serve(target: any, options?:any): any;
66}
67
68interface Event {
69 detail: any;
70 originalEvent: Event | null;
71}
72
73interface Object {
74 [key: string]: any;
75}
76
77declare const imba: ImbaContext
78
79declare global {
80 imba: ImbaContext;
81}
\No newline at end of file