/**
 * Creates a WebGLRenderer
 *
 * @param
 * By default, a camera will create its own renderer, with sensible defaults. But there may be cases where you want to override those defaults. In those situation, simply create this node, and set the camera renderer param to it.
 *
 */
import { TypedRopNode } from './_Base';
import { RopType } from '../../poly/registers/nodes/Rop';
import { WebGLRenderer } from 'three/src/renderers/WebGLRenderer';
export declare const DEFAULT_OUTPUT_ENCODING: number;
export declare const DEFAULT_TONE_MAPPING: number;
export declare const SHADOW_MAP_TYPES: import("three/src/constants").ShadowMapType[];
export declare const DEFAULT_SHADOW_MAP_TYPE: number;
export interface WebGLRendererWithSampling extends WebGLRenderer {
    sampling?: number;
}
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class WebGlRendererRopParamsConfig extends NodeParamsConfig {
    /** @param toggle on to have alpha on (change requires page reload) */
    alpha: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param toggle on to have antialias on (change requires page reload) */
    antialias: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param tone mapping */
    toneMapping: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param tone mapping exposure */
    toneMappingExposure: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
    /** @param output encoding */
    outputEncoding: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param physically correct lights */
    physicallyCorrectLights: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param sort objects, which can be necessary when rendering transparent objects */
    sortObjects: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param sampling will increase the renderer size */
    sampling: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param toggle on to have shadow maps */
    tshadowMap: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param toggle on to recompute the shadow maps on every frame. If all objects are static, you may want to turn this off */
    shadowMapAutoUpdate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param toggle on to trigger shadows update */
    shadowMapNeedsUpdate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param shadows type */
    shadowMapType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
}
export declare class WebGlRendererRopNode extends TypedRopNode<WebGlRendererRopParamsConfig> {
    params_config: WebGlRendererRopParamsConfig;
    static type(): Readonly<RopType.WEBGL>;
    private _renderers_by_canvas_id;
    create_renderer(canvas: HTMLCanvasElement, gl: WebGLRenderingContext): WebGLRendererWithSampling;
    cook(): void;
    _update_renderer(renderer: WebGLRendererWithSampling): void;
    private _traverse_scene_and_update_materials;
}
export {};
