import { TypedNodeConnection } from './NodeConnection';
import { NodeContext } from '../../../poly/NodeContext';
import { TypedNode } from '../../_Base';
export declare class ConnectionsController<NC extends NodeContext> {
    protected _node: TypedNode<NC, any>;
    private _inputConnections;
    private _outputConnections;
    constructor(_node: TypedNode<NC, any>);
    initInputs(): void;
    dispose(): void;
    addInputConnection(connection: TypedNodeConnection<NC>): void;
    removeInputConnection(connection: TypedNodeConnection<NC>): void;
    inputConnection(index: number): TypedNodeConnection<NC> | undefined;
    firstInputConnection(): TypedNodeConnection<NC> | null;
    inputConnections(): (TypedNodeConnection<NC> | undefined)[] | undefined;
    existingInputConnections(): (TypedNodeConnection<NC> | undefined)[] | undefined;
    addOutputConnection(connection: TypedNodeConnection<NC>): void;
    removeOutputConnection(connection: TypedNodeConnection<NC>): void;
    outputConnectionsByOutputIndex(outputIndex: number): Map<number, TypedNodeConnection<NC>> | undefined;
    outputConnections(target: TypedNodeConnection<NC>[]): TypedNodeConnection<NC>[];
}
