import { IAssetClass } from '@awayjs/core';
import { BitmapImage2D } from '@awayjs/stage';
import { INode } from '@awayjs/view';
import { RenderGroup } from './RenderGroup';
import { RendererBase } from './RendererBase';
import { _IRender_MaterialClass } from './base/_IRender_MaterialClass';
/**
 * The DefaultRenderer class provides the default rendering method. It renders the scene graph objects using the
 * materials assigned to them.
 *
 * @class away.render.DefaultRenderer
 */
export declare class DefaultRenderer extends RendererBase {
    static assetType: string;
    private _requireDepthRender;
    private _distanceRenderer;
    private _depthRenderer;
    _depthRender: BitmapImage2D;
    get antiAlias(): number;
    set antiAlias(value: number);
    /**
     *
     */
    get depthPrepass(): boolean;
    set depthPrepass(value: boolean);
    /**
     * Creates a new DefaultRenderer object.
     */
    constructor();
    init(node: INode, pool: RenderGroup): void;
    /**
     *
     */
    enterNode(node: INode): boolean;
    render(enableDepthAndStencil?: boolean, surfaceSelector?: number, mipmapSelector?: number, maskConfig?: number): void;
    onClear(): void;
    /**
     *
     */
    private _renderDepthPrepass;
    /**
     *
     */
    private _renderSceneDepthToTexture;
    /**
     *
     */
    private initDepthTexture;
    static registerMaterial(renderMaterialClass: _IRender_MaterialClass, materialClass: IAssetClass): void;
}
//# sourceMappingURL=DefaultRenderer.d.ts.map