import * as core from '@prismamedia/graphql-platform'; import * as utils from '@prismamedia/graphql-platform-utils'; import type { MariaDBConnector } from '../../../index.js'; import type { Schema, Table } from '../../../schema.js'; import { AbstractColumn } from '../abstract-column.js'; import type { DataType } from '../data-type.js'; import type { LeafColumn } from './leaf.js'; export * from './reference/diagnosis.js'; export declare class ReferenceColumn extends AbstractColumn { readonly edge: core.Edge; readonly referencedColumn: LeafColumn | ReferenceColumn; readonly name: string; readonly comment?: string; readonly dataType: DataType; constructor(table: Table, edge: core.Edge, referencedColumn: LeafColumn | ReferenceColumn, nameConfig: utils.Nillable, nameConfigPath: utils.Path); isNullable(): boolean; /** * category: { * parent: { * parent: null * slug: "root" * }, * slug: "news" * } * * -> * * category_parent_parent: null * category_parent_slug: "root" * category_slug: "news" */ pickLeafValueFromReferenceValue(referenceValue: core.ReferenceValue): core.LeafValue; } export interface ReferenceColumnTreeConfig { [componentName: string]: utils.Optional; } /** * The columns are grouped by their referenced component */ export declare class ReferenceColumnTree { #private; readonly currentEdge: core.Edge; constructor(schema: Schema, root: core.Edge, path?: ReadonlyArray>); at(path: ReadonlyArray>): ReferenceColumnTree; getColumnByLeaf(leaf: core.Leaf): ReferenceColumn; getColumnTreeByEdge(edge: core.Edge): ReferenceColumnTree; get columns(): ReadonlyArray; pickReferenceValueFromRow(row: utils.PlainObject): core.ReferenceValue; } //# sourceMappingURL=reference.d.ts.map