import * as core from '@prismamedia/graphql-platform'; import * as utils from '@prismamedia/graphql-platform-utils'; import type { MariaDBConnector } from '../../index.js'; import type { AbstractTableReference } from '../../statement/manipulation/clause/table-reference.js'; import type { WhereCondition } from '../../statement/manipulation/clause/where-condition.js'; import type { Table } from '../table.js'; import type { ReferenceColumn } from './column/reference.js'; import type { PrimaryKey, UniqueIndex } from './index.js'; export * from './foreign-key/diagnosis.js'; export interface ForeignKeyIndexConfig { /** * Optional, the index's name */ name?: utils.Nillable; } /** * @see https://mariadb.com/kb/en/foreign-keys/ */ export declare class ForeignKey { readonly table: Table; readonly edge: core.Edge; readonly config?: ForeignKeyIndexConfig; readonly configPath: utils.Path; constructor(table: Table, edge: core.Edge); get referencedTable(): Table; get referencedIndex(): PrimaryKey | UniqueIndex; get columns(): ReadonlyArray; get name(): string; /** * @see https://mariadb.com/kb/en/identifier-qualifiers/ */ get qualifiedName(): string; /** * @see https://mariadb.com/kb/en/identifier-qualifiers/ */ get fullyQualifiedName(): string; toString(): string; /** * @see https://mariadb.com/kb/en/create-table/#foreign-key */ get definition(): string; getJoinConditions(tail: AbstractTableReference, head: AbstractTableReference): Array; } //# sourceMappingURL=foreign-key.d.ts.map