/* eslint-disable @typescript-eslint/explicit-function-return-type */

/* global addToLibrary */

const LibraryWebGPU = {
    wgpuAdapterAddRef: undefined,
    wgpuAdapterGetFeatures: undefined,
    wgpuAdapterGetInfo: undefined,
    wgpuAdapterGetLimits: undefined,
    wgpuAdapterHasFeature: undefined,
    wgpuAdapterInfoFreeMembers: undefined,
    wgpuAdapterRelease: undefined,
    wgpuAdapterRequestDevice: undefined,
    wgpuBindGroupAddRef: undefined,
    wgpuBindGroupLayoutAddRef: undefined,
    wgpuBindGroupLayoutRelease: undefined,
    wgpuBindGroupLayoutSetLabel: undefined,
    wgpuBindGroupRelease: undefined,
    wgpuBindGroupSetLabel: undefined,
    wgpuBufferAddRef: undefined,
    wgpuBufferDestroy: undefined,
    wgpuBufferGetConstMappedRange: undefined,
    wgpuBufferGetMapState: undefined,
    wgpuBufferGetMappedRange: undefined,
    wgpuBufferGetSize: undefined,
    wgpuBufferGetUsage: undefined,
    wgpuBufferMapAsync: undefined,
    wgpuBufferReadMappedRange: undefined,
    wgpuBufferRelease: undefined,
    wgpuBufferSetLabel: undefined,
    wgpuBufferUnmap: undefined,
    wgpuBufferWriteMappedRange: undefined,
    wgpuCommandBufferAddRef: undefined,
    wgpuCommandBufferRelease: undefined,
    wgpuCommandBufferSetLabel: undefined,
    wgpuCommandEncoderAddRef: undefined,
    wgpuCommandEncoderBeginComputePass: undefined,
    wgpuCommandEncoderBeginRenderPass: undefined,
    wgpuCommandEncoderClearBuffer: undefined,
    wgpuCommandEncoderCopyBufferToBuffer: undefined,
    wgpuCommandEncoderCopyBufferToTexture: undefined,
    wgpuCommandEncoderCopyTextureToBuffer: undefined,
    wgpuCommandEncoderCopyTextureToTexture: undefined,
    wgpuCommandEncoderFinish: undefined,
    wgpuCommandEncoderInsertDebugMarker: undefined,
    wgpuCommandEncoderPopDebugGroup: undefined,
    wgpuCommandEncoderPushDebugGroup: undefined,
    wgpuCommandEncoderRelease: undefined,
    wgpuCommandEncoderResolveQuerySet: undefined,
    wgpuCommandEncoderSetLabel: undefined,
    wgpuCommandEncoderWriteTimestamp: undefined,
    wgpuComputePassEncoderAddRef: undefined,
    wgpuComputePassEncoderDispatchWorkgroups: undefined,
    wgpuComputePassEncoderDispatchWorkgroupsIndirect: undefined,
    wgpuComputePassEncoderEnd: undefined,
    wgpuComputePassEncoderInsertDebugMarker: undefined,
    wgpuComputePassEncoderPopDebugGroup: undefined,
    wgpuComputePassEncoderPushDebugGroup: undefined,
    wgpuComputePassEncoderRelease: undefined,
    wgpuComputePassEncoderSetBindGroup: undefined,
    wgpuComputePassEncoderSetLabel: undefined,
    wgpuComputePassEncoderSetPipeline: undefined,
    wgpuComputePassEncoderWriteTimestamp: undefined,
    wgpuComputePipelineAddRef: undefined,
    wgpuComputePipelineGetBindGroupLayout: undefined,
    wgpuComputePipelineRelease: undefined,
    wgpuComputePipelineSetLabel: undefined,
    wgpuCreateInstance: undefined,
    wgpuDeviceAddRef: undefined,
    wgpuDeviceCreateBindGroup: undefined,
    wgpuDeviceCreateBindGroupLayout: undefined,
    wgpuDeviceCreateBuffer: undefined,
    wgpuDeviceCreateCommandEncoder: undefined,
    wgpuDeviceCreateComputePipeline: undefined,
    wgpuDeviceCreateComputePipelineAsync: undefined,
    wgpuDeviceCreatePipelineLayout: undefined,
    wgpuDeviceCreateQuerySet: undefined,
    wgpuDeviceCreateRenderBundleEncoder: undefined,
    wgpuDeviceCreateRenderPipeline: undefined,
    wgpuDeviceCreateRenderPipelineAsync: undefined,
    wgpuDeviceCreateSampler: undefined,
    wgpuDeviceCreateShaderModule: undefined,
    wgpuDeviceCreateTexture: undefined,
    wgpuDeviceDestroy: undefined,
    wgpuDeviceGetAdapterInfo: undefined,
    wgpuDeviceGetFeatures: undefined,
    wgpuDeviceGetLimits: undefined,
    wgpuDeviceGetLostFuture: undefined,
    wgpuDeviceGetQueue: undefined,
    wgpuDeviceHasFeature: undefined,
    wgpuDevicePopErrorScope: undefined,
    wgpuDevicePushErrorScope: undefined,
    wgpuDeviceRelease: undefined,
    wgpuDeviceSetLabel: undefined,
    wgpuGetInstanceCapabilities: undefined, // deprecated in final version of webgpu.h
    wgpuGetInstanceFeatures: undefined, // added in final version of webgpu.h
    wgpuGetInstanceLimits: undefined, // added in final version of webgpu.h
    wgpuGetProcAddress: undefined,
    wgpuHasInstanceFeature: undefined, // added in final version of webgpu.h
    wgpuInstanceAddRef: undefined,
    wgpuInstanceCreateSurface: undefined,
    wgpuInstanceGetWGSLLanguageFeatures: undefined,
    wgpuInstanceHasWGSLLanguageFeature: undefined,
    wgpuInstanceProcessEvents: undefined,
    wgpuInstanceRelease: undefined,
    wgpuInstanceRequestAdapter: undefined,
    wgpuInstanceWaitAny: undefined,
    wgpuPipelineLayoutAddRef: undefined,
    wgpuPipelineLayoutRelease: undefined,
    wgpuPipelineLayoutSetLabel: undefined,
    wgpuQuerySetAddRef: undefined,
    wgpuQuerySetDestroy: undefined,
    wgpuQuerySetGetCount: undefined,
    wgpuQuerySetGetType: undefined,
    wgpuQuerySetRelease: undefined,
    wgpuQuerySetSetLabel: undefined,
    wgpuQueueAddRef: undefined,
    wgpuQueueOnSubmittedWorkDone: undefined,
    wgpuQueueRelease: undefined,
    wgpuQueueSetLabel: undefined,
    wgpuQueueSubmit: undefined,
    wgpuQueueWriteBuffer: undefined,
    wgpuQueueWriteTexture: undefined,
    wgpuRenderBundleAddRef: undefined,
    wgpuRenderBundleEncoderAddRef: undefined,
    wgpuRenderBundleEncoderDraw: undefined,
    wgpuRenderBundleEncoderDrawIndexed: undefined,
    wgpuRenderBundleEncoderDrawIndexedIndirect: undefined,
    wgpuRenderBundleEncoderDrawIndirect: undefined,
    wgpuRenderBundleEncoderFinish: undefined,
    wgpuRenderBundleEncoderInsertDebugMarker: undefined,
    wgpuRenderBundleEncoderPopDebugGroup: undefined,
    wgpuRenderBundleEncoderPushDebugGroup: undefined,
    wgpuRenderBundleEncoderRelease: undefined,
    wgpuRenderBundleEncoderSetBindGroup: undefined,
    wgpuRenderBundleEncoderSetIndexBuffer: undefined,
    wgpuRenderBundleEncoderSetLabel: undefined,
    wgpuRenderBundleEncoderSetPipeline: undefined,
    wgpuRenderBundleEncoderSetVertexBuffer: undefined,
    wgpuRenderBundleRelease: undefined,
    wgpuRenderBundleSetLabel: undefined,
    wgpuRenderPassEncoderAddRef: undefined,
    wgpuRenderPassEncoderBeginOcclusionQuery: undefined,
    wgpuRenderPassEncoderDraw: undefined,
    wgpuRenderPassEncoderDrawIndexed: undefined,
    wgpuRenderPassEncoderDrawIndexedIndirect: undefined,
    wgpuRenderPassEncoderDrawIndirect: undefined,
    wgpuRenderPassEncoderEnd: undefined,
    wgpuRenderPassEncoderEndOcclusionQuery: undefined,
    wgpuRenderPassEncoderExecuteBundles: undefined,
    wgpuRenderPassEncoderInsertDebugMarker: undefined,
    wgpuRenderPassEncoderMultiDrawIndexedIndirect: undefined,
    wgpuRenderPassEncoderMultiDrawIndirect: undefined,
    wgpuRenderPassEncoderPopDebugGroup: undefined,
    wgpuRenderPassEncoderPushDebugGroup: undefined,
    wgpuRenderPassEncoderRelease: undefined,
    wgpuRenderPassEncoderSetBindGroup: undefined,
    wgpuRenderPassEncoderSetBlendConstant: undefined,
    wgpuRenderPassEncoderSetIndexBuffer: undefined,
    wgpuRenderPassEncoderSetLabel: undefined,
    wgpuRenderPassEncoderSetPipeline: undefined,
    wgpuRenderPassEncoderSetScissorRect: undefined,
    wgpuRenderPassEncoderSetStencilReference: undefined,
    wgpuRenderPassEncoderSetVertexBuffer: undefined,
    wgpuRenderPassEncoderSetViewport: undefined,
    wgpuRenderPassEncoderWriteTimestamp: undefined,
    wgpuRenderPipelineAddRef: undefined,
    wgpuRenderPipelineGetBindGroupLayout: undefined,
    wgpuRenderPipelineRelease: undefined,
    wgpuRenderPipelineSetLabel: undefined,
    wgpuSamplerAddRef: undefined,
    wgpuSamplerRelease: undefined,
    wgpuSamplerSetLabel: undefined,
    wgpuShaderModuleAddRef: undefined,
    wgpuShaderModuleGetCompilationInfo: undefined,
    wgpuShaderModuleRelease: undefined,
    wgpuShaderModuleSetLabel: undefined,
    wgpuSupportedFeaturesFreeMembers: undefined,
    wgpuSupportedWGSLLanguageFeaturesFreeMembers: undefined,
    wgpuSurfaceAddRef: undefined,
    wgpuSurfaceCapabilitiesFreeMembers: undefined,
    wgpuSurfaceConfigure: undefined,
    wgpuSurfaceGetCapabilities: undefined,
    wgpuSurfaceGetCurrentTexture: undefined,
    wgpuSurfacePresent: undefined,
    wgpuSurfaceRelease: undefined,
    wgpuSurfaceSetLabel: undefined,
    wgpuSurfaceUnconfigure: undefined,
    wgpuTextureAddRef: undefined,
    wgpuTextureCreateView: undefined,
    wgpuTextureDestroy: undefined,
    wgpuTextureGetDepthOrArrayLayers: undefined,
    wgpuTextureGetDimension: undefined,
    wgpuTextureGetFormat: undefined,
    wgpuTextureGetHeight: undefined,
    wgpuTextureGetMipLevelCount: undefined,
    wgpuTextureGetSampleCount: undefined,
    wgpuTextureGetUsage: undefined,
    wgpuTextureGetWidth: undefined,
    wgpuTextureRelease: undefined,
    wgpuTextureSetLabel: undefined,
    wgpuTextureViewAddRef: undefined,
    wgpuTextureViewRelease: undefined,
    wgpuTextureViewSetLabel: undefined
};

addToLibrary(LibraryWebGPU);
