import type { TextureLike } from '../../shared'; import type { GlRenderingContext, GlTextureLocation } from '../types'; import type { WebGLRenderer } from '../WebGLRenderer'; import type { GlTextureUploader } from './GlTextureUploader'; import { GlSystem } from '../system'; import { GlTexture } from './GlTexture'; export declare class GlTextureSystem extends GlSystem { uploaders: Record; readonly textures: Map; readonly glTextures: Map; protected _mapFormatToInternalFormat: Record; protected _mapFormatToType: Record; protected _mapFormatToFormat: Record; protected _premultiplyAlpha: boolean; maxTextureSize: number; maxTextureImageUnits: number; protected _location: GlTextureLocation; current: (TextureLike | null)[]; install(renderer: WebGLRenderer): void; protected _updateContext(gl: GlRenderingContext): void; getGlTexture(texture: TextureLike): GlTexture; protected _createGlTexture(texture: TextureLike): GlTexture; bind(texture?: TextureLike | null, location?: number, clampOverride?: boolean): void; protected _activateLocation(location: number): void; unbind(source: TextureLike | number): void; protected _sourceUnload(source: TextureLike): void; updateStyle(texture: TextureLike, firstCreation?: boolean): void; updateGpuTexture(texture: TextureLike): void; updateMipmap(texture: TextureLike): void; reset(): void; }