import { ActorBuilderNode } from '../../../../../scene/utils/ActorsManager';
import { BaseJsConnectionPoint } from '../../../../utils/io/connections/Js';
import { BaseJsNodeType } from '../../../_Base';
type ConnectionPointCallback = (connectionPoint: BaseJsConnectionPoint) => boolean;
export declare function nodeMethodName(node: BaseJsNodeType, outputName?: string): string;
interface MethodNameData {
    outputName: string;
    nodeName: string;
    methodNameWithoutOutputName: string;
}
export declare function methodNameData(methodName: string): MethodNameData;
export declare function findTriggeringNodes(parent: ActorBuilderNode): Set<BaseJsNodeType>;
export declare function groupNodesByType(nodes: Set<BaseJsNodeType>, nodesByType: Map<string, Set<BaseJsNodeType>>): void;
export declare function getOutputIndices(node: BaseJsNodeType, callback: ConnectionPointCallback): number[];
export declare function getInputIndices(node: BaseJsNodeType, callback: ConnectionPointCallback): number[];
interface GetConnectedOutputNodesOptions {
    node: BaseJsNodeType;
    triggerOutputIndices: number[];
    triggerableNodes: Set<BaseJsNodeType>;
    recursive: boolean;
}
export declare function getConnectedOutputNodes(options: GetConnectedOutputNodesOptions): void;
interface ConnectedTriggerableNodesOptions {
    triggeringNodes: Set<BaseJsNodeType>;
    triggerableNodes: Set<BaseJsNodeType>;
    recursive: boolean;
}
export declare function connectedTriggerableNodes(options: ConnectedTriggerableNodesOptions): void;
export declare function inputNodesExceptTrigger(node: BaseJsNodeType, target: BaseJsNodeType[]): BaseJsNodeType[];
export declare function triggerInputIndex(triggeringNode: BaseJsNodeType, triggeredNode: BaseJsNodeType): number | null;
export declare function triggerableMethodCalls(triggeringNode: BaseJsNodeType): string;
export {};
