import type { AttributeType, ColumnType, CollectionType, TableType } from "../commands/config.js"; /** * Union type for attributes from both collections and tables. */ export type TypeAttribute = AttributeType | ColumnType; /** * Common entity interface (collection or table). */ export type TypeEntity = Pick; /** * Converts an attribute to its TypeScript type representation. * * @param attribute - The attribute to convert * @param entities - List of all entities for resolving relationships * @param entityName - Name of the entity containing this attribute (for enum naming) * @param forCreate - If true, use Create suffix for relationship types (for input types) * @returns The TypeScript type string */ export declare function getTypeScriptType(attribute: TypeAttribute, entities: TypeEntity[], entityName: string, forCreate?: boolean): string; /** * Detects the Appwrite dependency to use based on the project's package.json or deno.json. * * @returns The appropriate Appwrite import path */ export declare function getAppwriteDependency(): string; /** * Detects whether the user's project uses native ESM. * Returns ".js" for ESM projects (package.json "type": "module" or Deno), "" for non-ESM projects. */ export declare function detectImportExtension(cwd?: string): string; /** * Checks if the Appwrite dependency supports server-side methods. * * @param appwriteDep - The Appwrite dependency string * @param override - Optional override (auto|true|false) * @returns True if server-side methods are supported */ export declare function supportsServerSideMethods(appwriteDep: string, override?: "auto" | "true" | "false"): boolean; //# sourceMappingURL=typescript-type-utils.d.ts.map