import '../globals.js';
// Copyright 2024, University of Colorado Boulder

/**
 * WebGPU globals for ESLint
 *
 * @author Jonathan Olson (PhET Interactive Simulations)
 */

const webGPUGlobals = {
  GPUShaderModule: 'readonly',
  GPUBindGroupLayout: 'readonly',
  GPUDevice: 'readonly',
  GPUShaderStage: 'readonly',
  GPUBindGroupLayoutEntry: 'readonly',
  GPUComputePipeline: 'readonly',
  GPUBuffer: 'readonly',
  GPUTextureView: 'readonly',
  GPUCommandEncoder: 'readonly',
  GPUBindGroupEntry: 'readonly',
  GPUBufferUsage: 'readonly',
  GPUTextureUsage: 'readonly',
  GPUTexture: 'readonly',
  GPUCanvasContext: 'readonly',
  GPUTextureFormat: 'readonly',
  GPUImageCopyExternalImageSource: 'readonly',
  GPUPipelineLayout: 'readonly',
  GPURenderPipeline: 'readonly',
  GPUBindGroup: 'readonly',
  GPUMapMode: 'readonly',
  GPUFeatureName: 'readonly',
  GPUQuerySet: 'readonly',
  GPUComputePassDescriptor: 'readonly',
  GPUComputePassTimestampWrites: 'readonly',
  GPUComputePipelineDescriptor: 'readonly',
  GPUComputePassEncoder: 'readonly',
  GPUTextureViewDimension: 'readonly',
  GPUStorageTextureAccess: 'readonly',
  GPUBufferBindingType: 'readonly',
  GPUTextureSampleType: 'readonly',
  GPUBufferBinding: 'readonly',
  GPURequestAdapterOptions: 'readonly',
  GPUDeviceDescriptor: 'readonly',
  GPUBufferDescriptor: 'readonly',
  GPUQueue: 'readonly',
  GPUQuerySetDescriptor: 'readonly',
  GPUAdapter: 'readonly',
  GPUMapModeFlags: 'readonly',
  GPUPipelineLayoutDescriptor: 'readonly',
  GPUCommandEncoderDescriptor: 'readonly',
  GPUCommandBuffer: 'readonly',
  GPUBindGroupDescriptor: 'readonly',
  GPUBindGroupLayoutDescriptor: 'readonly',
  GPUShaderModuleDescriptor: 'readonly',
  GPURenderPassDescriptor: 'readonly',
  GPURenderPassEncoder: 'readonly',
  GPUCommandBufferDescriptor: 'readonly',
  GPUImageCopyBuffer: 'readonly',
  GPUImageCopyTexture: 'readonly',
  GPUExtent3DStrict: 'readonly',
  GPUSampler: 'readonly',
  GPUExternalTexture: 'readonly'
};

export default webGPUGlobals;