import type { Maybe } from "../../../common/Maybe";
import type { Connection, ConnectionByType, ConnectionId, ConnectionType } from "../../Connections";
import type { BlueprintHelper } from "../BlueprintHelper";
import type { ConnectionHelper, ParameterizedConnection, ParameterizedConnectionByType } from "../ConnectionHelper";
import { ConnectionCollectionBase } from "./ConnectionCollectionBase";
export declare class BlueprintConnectionCollection extends ConnectionCollectionBase {
    constructor(cache: WeakMap<Connection, ConnectionHelper>, blueprint: BlueprintHelper);
    has({ from, to }: ConnectionId): boolean;
    addByType<T extends ConnectionType>(type: T, connection: Omit<ConnectionByType<T>, 'type'>): ConnectionHelper<T>;
    add<TConn extends Connection>(connection: TConn): ConnectionHelper<TConn['type']>;
    addParameterizedConnectionByType<T extends ConnectionType>(type: T, connection: ParameterizedConnectionByType<T>): ConnectionHelper<T>;
    addParameterizedConnection<TConnection extends Connection>(connection: ParameterizedConnection<TConnection>): ConnectionHelper<TConnection['type']>;
    delete(connection: Maybe<ConnectionHelper>): void;
    deleteAll(): void;
}
