import { Storage, type Models } from "node-appwrite"; import { type AppwriteConfig } from "appwrite-utils"; import type { DatabaseAdapter } from "appwrite-utils-helpers"; import type { DatabaseSelection, BucketSelection } from "../shared/selectionDialogs.js"; export declare class AppwriteToX { config: AppwriteConfig; storage: Storage; updatedConfig: AppwriteConfig; collToAttributeMap: Map; appwriteFolderPath: string; adapter?: DatabaseAdapter; apiMode?: 'legacy' | 'tablesdb'; databaseApiModes: Map; constructor(config: AppwriteConfig, appwriteFolderPath: string, storage: Storage); /** * Initialize adapter for database operations with API mode detection */ private initializeAdapter; private ensureClientInitialized; parsePermissionString: (permissionString: string) => { permission: string; target: string; }; parsePermissionsArray: (permissions: string[]) => ({ permission: string; target: string; } | { permission: string; target: string; })[]; updateCollectionConfigAttributes: (collection: Models.Collection) => void; /** * Fetch collections/tables using the appropriate adapter or legacy client */ private fetchCollectionsOrTables; /** * Get collection/table using the appropriate adapter or legacy client */ private getCollectionOrTable; /** * Detect API mode for a specific database by testing adapter capabilities */ private detectDatabaseApiMode; /** * Get API mode context for schema generation */ private getSchemaGeneratorApiContext; appwriteSync(config: AppwriteConfig, databases?: Models.Database[], databaseSelections?: DatabaseSelection[], bucketSelections?: BucketSelection[]): Promise; toSchemas(databases?: Models.Database[], databaseSelections?: DatabaseSelection[], bucketSelections?: BucketSelection[]): Promise; }