import { S as RelationshipsMap, h as FilterExpr, x as RelationshipVia } from "./entity-config-OhC4Otkz.cjs"; //#region src/mapping-form.d.ts /** * A relationship the mapping UI can offer or has configured, in the shape the * heuristic suggester produces. `entityTable` is the *host table name*; the * mappings→config compiler resolves it to the canonical entity key, so it is * persisted verbatim as the relationship's `entity` reference. */ export interface RelationshipCandidate { entityTable: string; name: string; via: RelationshipVia; } /** * Build the filter for a discriminated entity: rows where `column` equals * `value` belong to this entity (e.g. `role = "owner"`). Returns `undefined` * when either side is blank so the caller can omit the filter entirely. */ export declare function buildFilterFromDiscriminator(column: string | null | undefined, value: string): FilterExpr | undefined; /** * A stable identity string for a relationship's `via`. Two candidates on the * same source table always differ in their join (`fkOn`+column, join-table * keys, or raw SQL), so this disambiguates candidates the heuristic gives the * same `name` (every contact→company candidate is named "company"). */ export declare function relationshipViaSignature(via: RelationshipVia): string; /** * Compile the selected relationship candidates into the persisted * `RelationshipsMap`. Returns `undefined` for an empty selection so the caller * omits the field. */ export declare function buildRelationships(candidates: RelationshipCandidate[]): RelationshipsMap | undefined; //#endregion