import "reflect-metadata"; import { Texture } from "../core/texture"; import { Color } from "../types/color"; import { mat4 } from "../types/mat4"; import { vec2 } from "../types/vec2"; import { vec3 } from "../types/vec3"; import { vec4 } from "../types/vec4"; export declare function panicNull(t: T | null, msg?: string): T; export declare function panic(msg?: string): never; export declare function warn(msg: string): never; declare type DecoratorFunc = (value?: T) => { (target: Function): void; (target: Object, propertyKey: string | symbol): void; }; declare type MetadataFunc = (target: T, propKey?: string) => S | null; export declare function decorator(name: string, defaultValue?: T | undefined, dataWrapper?: (value?: T) => S | T | undefined): [DecoratorFunc, MetadataFunc]; export declare function getUniformsLocation(gl: WebGL2RenderingContext, program: WebGLProgram, uniforms: U): { [key in keyof U]: WebGLUniformLocation | null; }; export declare function fillArray(element: (idx: number) => T, count: number): T[]; export declare function fillArray(element: T, count: number): T[]; export declare type ConstructorType = { prototype: T; } & Function; export declare class DoubleBuffer { private currentIdx; private buffers; get current(): T; set current(value: T); get back(): T; set back(value: T); constructor(init: () => T); update(): void; } export declare function setImmediate(invoker: () => void): void; export declare function cloneUniformValue(value: Readonly): T; export {};