@altostra/core
Version:
Core library for shared types and logic
16 lines (15 loc) • 1.2 kB
TypeScript
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;
}