import type { Camera } from "./Camera"; import { Scene } from "./core"; import { Sprite } from "./objects/Sprite"; export type Nullable = T | null; export type NullableWebGLUniformLocation = Nullable; export type UniformsValueType = { uvOffset: NullableWebGLUniformLocation; uvScale: NullableWebGLUniformLocation; rotation: NullableWebGLUniformLocation; scale: NullableWebGLUniformLocation; alignment: NullableWebGLUniformLocation; color: NullableWebGLUniformLocation; map: NullableWebGLUniformLocation; opacity: NullableWebGLUniformLocation; useScreenCoordinates: NullableWebGLUniformLocation; screenPosition: NullableWebGLUniformLocation; modelViewMatrix: NullableWebGLUniformLocation; projectionMatrix: NullableWebGLUniformLocation; fogNear: NullableWebGLUniformLocation; fogFar: NullableWebGLUniformLocation; fogColor: NullableWebGLUniformLocation; alphaTest: NullableWebGLUniformLocation; }; export type SpriteMeta = { vertices: Nullable; faces: Nullable; vertexBuffer: Nullable; elementBuffer: Nullable; program: Nullable; attributes: Record; uniforms: Nullable; }; export declare class SpritePlugin { private gl?; private renderer; private precision?; private sprite; sprites?: Sprite[]; init(renderer: any): void; render(scene: Scene, camera: Camera, viewportWidth: number, viewportHeight: number, inFront?: boolean): void; private createProgram; }