import { EventDispatcher, WebGLRenderer, WebGLRendererParameters, EventListener } from "three";
import { ContextScene } from "./scene";
import { ContextCamera } from "./camera";
import { Timer } from "../utils";
import { Context } from "./context";
interface RendererEventMap {
    update: {};
}
export declare class Renderer extends WebGLRenderer {
    context: Context;
    event: EventDispatcher<RendererEventMap>;
    scene?: ContextScene;
    camera?: ContextCamera;
    enable: boolean;
    timer: Timer;
    constructor(context: Context, options?: WebGLRendererParameters & {
        backgroundColor: string | number;
    });
    setCameraAndScene(scene: ContextScene, camera: ContextCamera): void;
    autoRender(): void;
    pauseRender(): void;
    continueRender(): void;
    addEventListener<T extends Extract<keyof RendererEventMap, string>>(type: T, listener: EventListener<RendererEventMap[T], T, typeof this.event>): void;
    removeEventListener<T extends Extract<keyof RendererEventMap, string>>(type: T, listener: EventListener<RendererEventMap[T], T, typeof this.event>): void;
}
export {};
