import { Renderer } from "./Renderer"; import { Extensions } from './Extensions'; import { RenderableElement } from './RenderableElement'; import { Object3D } from './Object3D'; import { Camera } from './cameras/Camera'; import { RenderTarget } from './RenderTarget'; import { Vector2 } from './math/Vector2'; import { RenderFlow } from "./RenderFlow"; import { Pass } from "./Pass"; export declare enum CAMERA { PERSPECTIVE = 0, ORTHOGRAPHIC = 1 } export interface rendererOptions { element: HTMLElement | HTMLCanvasElement | string; gl?: WebGLRenderingContext; cameraMode?: CAMERA; } export interface ContextAttributes { alpha?: boolean; depth?: boolean; stencil?: boolean; antialias?: boolean; premultipliedAlpha?: boolean; preserveDrawingBuffer?: boolean; } declare class GLWidget { renderer: Renderer; renderTarget: RenderTarget; element: HTMLElement; canvas: HTMLCanvasElement; gl: WebGLRenderingContext; contextAttributes: ContextAttributes; cameraMode: CAMERA; camera: Camera; pixelRatio: number; width: number; height: number; extensions: Extensions; opaqueList: Array; transparentList: Array; scene: Object3D; renderFlow: RenderFlow; background: any; stopped: boolean; constructor(options: rendererOptions, attributes?: ContextAttributes); add(element: RenderableElement): void; setRenderTarget(renderTarget: RenderTarget): void; getRenderTarget(): RenderTarget; setupMouse(): void; setPixelRatio(value: any): void; getPixelRatio(): number; setSize(width: any, height: any, updateStyle?: {}): void; setViewport(x: any, y: any, width: any, height: any): void; getSize(): Vector2; setCamera(): void; addPass(pass: Pass): void; renderPassFrame(): void; renderElement(element: RenderableElement, camera?: Camera): void; clear(): void; renderPass(animation?: Function): void; renderFrame(camera?: Camera): void; renderBackground(shader: any, animation?: Function | false, camera?: Camera): void; render(animation?: Function | false, camera?: Camera): void; dispose(): void; } export { GLWidget };