1cb93a386Sopenharmony_cideclare namespace embind {
2cb93a386Sopenharmony_ci  export interface EmbindModule {
3cb93a386Sopenharmony_ci    // The following are provided by emscripten
4cb93a386Sopenharmony_ci    onRuntimeInitialized(): void;
5cb93a386Sopenharmony_ci    _malloc(bytes: number): number;
6cb93a386Sopenharmony_ci    _free(ptr: number): void;
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_ci    HEAPF32: Float32Array;
9cb93a386Sopenharmony_ci    HEAPU8: Uint8Array;
10cb93a386Sopenharmony_ci    HEAPU16: Uint16Array;
11cb93a386Sopenharmony_ci    HEAPU32: Uint32Array;
12cb93a386Sopenharmony_ci    HEAP8: Int8Array;
13cb93a386Sopenharmony_ci    HEAP16: Int16Array;
14cb93a386Sopenharmony_ci    HEAP32: Int32Array;
15cb93a386Sopenharmony_ci  }
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ci  export interface EmbindObject<T extends EmbindObject<T>> {
18cb93a386Sopenharmony_ci    clone(): T;
19cb93a386Sopenharmony_ci    delete(): void;
20cb93a386Sopenharmony_ci    deleteAfter(): void;
21cb93a386Sopenharmony_ci    isAliasOf(other: any): boolean;
22cb93a386Sopenharmony_ci    isDeleted(): boolean;
23cb93a386Sopenharmony_ci  }
24cb93a386Sopenharmony_ci}
25