export type ShaderData = {
  name: string;
  frag: string;
}
export type ImageData = {
  width: number;
  height: number;
  path: string;
  data: ArrayBuffer;
}
export type OnProgressData = {
  count: number;
  total: number;
  progress: number;
}
export const CreateSurface: (id: BigInt) => boolean;
export const ChangeSurface: (id: BigInt, w: number, h: number) =>any;
export const DestroySurface: (id: BigInt) => any;
export const AddShader: (shaderId: number, shaderData: ShaderData) => any;
export const RemoveShader: (shaderId: number) => any;
export const SetData: (id: BigInt, data: string) => any;
export const LoadImage: (id: BigInt, src: string, imageData: ImageData) => any;
export const OnProgress: (id: BigInt) => OnProgressData;
export const GetContext: (id: BigInt) => Object;