import type { AppwriteConfig, Attribute, RelationshipAttribute } from "appwrite-utils"; /** * Represents detailed information about a two-way relationship between collections */ export interface RelationshipDetail { parentCollection: string; childCollection: string; parentKey: string; childKey: string; isArray: boolean; isChild: boolean; } /** * Represents basic relationship information for JSON schema generation */ export interface SimpleRelationship { attributeKey: string; relatedCollection: string; relationType: string; isArray: boolean; } /** * Helper function to resolve collection name from ID or name * @param config - Appwrite configuration containing collections * @param idOrName - Collection ID or name to resolve * @returns Resolved collection name, or the original input if not found */ export declare function resolveCollectionName(config: AppwriteConfig, idOrName: string): string; /** * Determines if a relationship type results in an array * @param relationType - The type of relationship (oneToOne, oneToMany, manyToOne, manyToMany) * @returns true if the relationship results in an array */ export declare function isArrayRelationship(relationType: string): boolean; /** * Extracts two-way relationship details from collections for Zod schema generation * This handles complex bidirectional relationships with parent-child tracking * * @param config - Appwrite configuration containing collections * @returns Map of collection names to their relationship details */ export declare function extractTwoWayRelationships(config: AppwriteConfig): Map; /** * Extracts simple relationship information from collections for JSON schema generation * This handles one-way and basic relationship tracking * * @param config - Appwrite configuration containing collections * @returns Map of collection names to their simple relationships */ export declare function extractSimpleRelationships(config: AppwriteConfig): Map; /** * Extracts all relationship attributes from a collection's attributes * @param attributes - Array of collection attributes * @returns Array of relationship attributes only */ export declare function filterRelationshipAttributes(attributes: Attribute[]): RelationshipAttribute[];