import { type ApiMode } from "appwrite-utils-helpers"; /** * Terminology configuration for API mode-specific naming */ interface TerminologyConfig { container: "table" | "collection"; containerName: "Table" | "Collection"; fields: "columns" | "attributes"; fieldName: "Column" | "Attribute"; security: "rowSecurity" | "documentSecurity"; schemaRef: "table.schema.json" | "collection.schema.json"; items: "rows" | "documents"; } /** * Detection result with source information */ interface ApiModeDetectionResult { apiMode: ApiMode; useTables: boolean; detectionSource: "appwrite.json" | "server-version" | "default"; serverVersion?: string; } /** * Get terminology configuration based on API mode */ export declare function getTerminologyConfig(useTables: boolean): TerminologyConfig; /** * Detect API mode using multiple detection sources * Priority: appwrite.json > server version > default (collections) */ export declare function detectApiMode(basePath: string): Promise; /** * Create directory structure for Appwrite project */ export declare function createProjectDirectories(basePath: string, useTables: boolean): { appwriteFolder: string; containerFolder: string; schemaFolder: string; yamlSchemaFolder: string; dataFolder: string; }; /** * Create example YAML schema file with correct terminology */ export declare function createExampleSchema(containerFolder: string, terminology: TerminologyConfig): string; /** * Create JSON schema for YAML validation */ export declare function createYamlValidationSchema(yamlSchemaFolder: string, useTables: boolean): string; /** * Initialize a new Appwrite project with correct directory structure and terminology */ export declare function initProject(basePath?: string, forceApiMode?: 'legacy' | 'tablesdb'): Promise; /** * Create a new collection or table schema file */ export declare function createSchema(name: string, basePath?: string, forceApiMode?: 'legacy' | 'tablesdb'): Promise; export {};