type Point = [number, number]; type Rect = [number, number, number, number]; type RunGame = () => Promise; declare namespace WebAssembly { type tc = 'i32' | 'i64' | 'f32' | 'f64'; export class Function { constructor(args: { parameters: tc[], results: tc[] }, func: Function); } } declare module '*.module.css' { const classes: { [key: string]: string }; export default classes; } declare module "*.png" { const image: HTMLImageElement; export default image; } declare module "*.jpg" { const image: HTMLImageElement; export default image; } declare module "*.jpeg" { const image: HTMLImageElement; export default image; } declare module "*.wav" { const audio: HTMLAudioElement; export default audio; } declare module "*.mp3" { const audio: HTMLAudioElement; export default audio; } declare module "*.ogg" { const audio: HTMLAudioElement; export default audio; } declare module "*.wasm" { const instance: { memory: WebAssembly.Memory; data: DataView; [x: string]: (...args: any) => any; }; export default instance; } declare module "*.c" { const instance: { memory: WebAssembly.Memory; table: WebAssembly.Table; data: DataView; [x: string]: (...args: any) => any; }; export default instance; } declare module "*.cpp" { const instance: { memory: WebAssembly.Memory; table: WebAssembly.Table; data: DataView; [x: string]: (...args: any) => any; }; export default instance; } declare module "*.glsl" { const content: string; export default content; }