import { Databases, Models } from 'node-appwrite'; import { DatabaseSchema, IndexDefinition } from '../shared/types'; import { BaseTable, FilterOptions, QueryOptions, SchemaToType } from '../shared/table'; type QueryType = string; export declare class ServerTable> extends BaseTable { private db; constructor(databases: Databases, databaseId: string, collectionId: string, schema: T, client?: any, config?: any); /** * Override query method to use node-appwrite Query instead of web SDK Query */ query(filters?: FilterOptions, options?: QueryOptions): Promise; /** * Override find to use node-appwrite queries */ find(queries: QueryType[]): Promise; /** * Override count to use node-appwrite Query */ count(filters?: FilterOptions): Promise; /** * Override findOne to use node-appwrite Query */ findOne(queries: QueryType[]): Promise; /** * Server-specific method to create collection */ createCollection(name?: string, permissions?: string[]): Promise; /** * Server-specific method to delete collection */ deleteCollection(): Promise; /** * Bulk insert documents (server-only optimization) */ bulkCreate(documents: Partial>[]): Promise; /** * Bulk update documents (server-only optimization) */ bulkUpdate(updates: { id: string; data: Partial>; }[]): Promise; /** * Bulk delete documents (server-only optimization) */ bulkDelete(ids: string[]): Promise; /** * Create an index on this collection (server-only feature) */ createIndex(index: IndexDefinition): Promise; /** * Delete an index from this collection (server-only feature) */ deleteIndex(key: string): Promise; /** * List all indexes for this collection (server-only feature) */ listIndexes(): Promise; /** * Export all documents in this table to JSON * Fetches all documents in batches to handle large collections */ exportToJSON(): Promise; /** * Export all documents in this table as an array * Fetches all documents in batches to handle large collections */ exportToArray(): Promise; } export {}; //# sourceMappingURL=table.d.ts.map