/**
 * overrides the renderer used by the camera
 *
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { HierarchyParamConfigAll } from '../utils/params/ParamsConfig';
import { CameraSopNodeType, NodeContext } from '../../poly/NodeContext';
import { RopNodeChildrenMap } from '../../poly/registers/nodes/Rop';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { BaseRopNodeType } from '../rop/_Base';
declare class CameraRendererSopParamsConfig extends HierarchyParamConfigAll {
    /** @param renderer */
    node: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
}
export declare class CameraRendererSopNode extends TypedSopNode<CameraRendererSopParamsConfig> {
    readonly paramsConfig: CameraRendererSopParamsConfig;
    static type(): CameraSopNodeType;
    protected initializeNode(): void;
    private _operation;
    cook(inputCoreGroups: CoreGroup[]): void;
    protected _childrenControllerContext: NodeContext;
    createNode<S extends keyof RopNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): RopNodeChildrenMap[S];
    createNode<K extends valueof<RopNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
    children(): BaseRopNodeType[];
    nodesByType<K extends keyof RopNodeChildrenMap>(type: K): RopNodeChildrenMap[K][];
}
export {};
