/**
 * sets the controls 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 { EventNodeChildrenMap } from '../../poly/registers/nodes/Event';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { BaseEventNodeType } from '../event/_Base';
declare class CameraControlsSopParamsConfig extends HierarchyParamConfigAll {
    /** @param renderer */
    node: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
}
export declare class CameraControlsSopNode extends TypedSopNode<CameraControlsSopParamsConfig> {
    readonly paramsConfig: CameraControlsSopParamsConfig;
    static type(): CameraSopNodeType;
    protected initializeNode(): void;
    private _operation;
    cook(inputCoreGroups: CoreGroup[]): void;
    protected _childrenControllerContext: NodeContext;
    createNode<S extends keyof EventNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): EventNodeChildrenMap[S];
    createNode<K extends valueof<EventNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
    children(): BaseEventNodeType[];
    nodesByType<K extends keyof EventNodeChildrenMap>(type: K): EventNodeChildrenMap[K][];
}
export {};
