import { LoadingManager, CompressedTextureLoader, CompressedTexture, WebGLRenderer } from 'three'

export class KTX2Loader extends CompressedTextureLoader {
  constructor(manager?: LoadingManager)

  setTranscoderPath(path: string): KTX2Loader
  setWorkerLimit(limit: number): KTX2Loader
  detectSupport(renderer: WebGLRenderer): KTX2Loader
  dispose(): KTX2Loader

  parse(
    buffer: ArrayBuffer,
    onLoad: (texture: CompressedTexture) => void,
    onError?: (event: ErrorEvent) => void,
  ): KTX2Loader
}
