/** * Resource Relationship Mapping for IT Glue API * * This file defines the relationships between different IT Glue API resources * to enable cross-reference navigation and improve documentation discoverability. * * @category Utils */ /** * Defines the type of relationship between resources */ export declare enum RelationshipType { /** One-to-many relationship (parent has many children) */ ONE_TO_MANY = "one-to-many", /** Many-to-one relationship (many children belong to one parent) */ MANY_TO_ONE = "many-to-one", /** Many-to-many relationship (resources can be related to multiple others) */ MANY_TO_MANY = "many-to-many", /** Reference relationship (resource references another for classification) */ REFERENCE = "reference", /** Nested relationship (resource is accessed through another) */ NESTED = "nested", /** Dependency relationship (resource depends on another) */ DEPENDENCY = "dependency" } /** * Defines a relationship between two resources */ export interface ResourceRelationship { /** The target resource name */ target: string; /** The type of relationship */ type: RelationshipType; /** Description of the relationship */ description: string; /** The field/parameter that connects the resources */ connectionField?: string; /** Whether this is a bidirectional relationship */ bidirectional?: boolean; /** Example usage or filter parameter */ example?: string; } /** * Comprehensive mapping of resource relationships in the IT Glue API */ export declare const RESOURCE_RELATIONSHIPS: Record; /** * Get all relationships for a specific resource * @param resourceName - The name of the resource * @returns Array of relationships for the resource */ export declare function getResourceRelationships(resourceName: string): ResourceRelationship[]; /** * Get all resources that have a relationship with the specified resource * @param resourceName - The name of the resource to find relationships for * @returns Array of resource names that relate to the specified resource */ export declare function getRelatedResources(resourceName: string): string[]; /** * Get all resources organized by relationship type * @param resourceName - The name of the resource * @returns Object mapping relationship types to arrays of related resources */ export declare function getResourceRelationshipsByType(resourceName: string): Record; /** * Generate cross-reference links for JSDoc comments * @param resourceName - The name of the resource * @returns Array of JSDoc @see tags for related resources */ export declare function generateCrossReferenceLinks(resourceName: string): string[];