import { Json } from "atom.io/foundations/json";
import { MapOverlay } from "atom.io/foundations/overlays";
//#region src/foundations/junction/junction.d.ts
type Refinement = (a: A) => a is B;
type JunctionEntriesBase = {
readonly relations: ([A, B[]] | [B, A[]])[];
readonly contents: [string, Content][];
};
interface JunctionEntries extends Json.Object, JunctionEntriesBase {}
type JunctionSchemaBase = {
/** Description of the relationship between the two sides */
readonly between: [a: AName, b: BName];
/** How many relations are allowed in each direction? */
readonly cardinality: `1:1` | `1:n` | `n:n`;
};
interface JunctionSchema