import { type CoreConceptKindId } from './archimate-relationships.generated.js'; import { type Aspect, type RelationshipKind } from './profile.js'; export type { CoreConceptKindId }; export declare const isCoreConceptKindId: (id: string) => id is CoreConceptKindId; /** Relationship kinds ArchiMate permits from `from` to `to`. Never empty for known kinds: every pair permits `association`. */ export declare const permittedRelationshipKinds: (from: CoreConceptKindId, to: CoreConceptKindId) => ReadonlySet; export declare const relationshipPermitted: (from: CoreConceptKindId, kind: RelationshipKind, to: CoreConceptKindId) => boolean; export declare const matrixEndpointAspects: (kind: RelationshipKind, endpoint: 'source' | 'target') => ReadonlySet; export declare const tableKnowsConceptKind: (kind: string) => kind is CoreConceptKindId; export declare const tableKnowsRelationshipKind: (kind: string) => kind is RelationshipKind; /** Kinds that may stand as the source of `kind` into `to`. */ export declare const sourceKindsPermitting: (kind: RelationshipKind, to: CoreConceptKindId) => ReadonlySet; /** Kinds that may stand as the target of `kind` from `from`. */ export declare const targetKindsPermitting: (kind: RelationshipKind, from: CoreConceptKindId) => ReadonlySet; /** Every core relationship kind, in the profile's declared order. Re-exported so the matrix's consumers need one import. */ export declare const CORE_RELATIONSHIP_KINDS: readonly RelationshipKind[];