import { SqliteAdapter } from "../database/SqliteAdapter"; import Database from "better-sqlite3"; export declare abstract class BaseRepository { protected db: Database.Database; protected tableName: string; constructor(dbAdapter: SqliteAdapter, tableName: string); /** * Generate a new UUID */ protected generateId(): string; /** * Convert snake_case database column names to camelCase */ protected toCamelCase(obj: Record): any; /** * Convert camelCase property names to snake_case */ protected toSnakeCase(obj: Record): any; private snakeToCamel; private camelToSnake; /** * Find all records */ findAll(): Promise; /** * Find a record by ID */ findById(id: string): Promise; /** * Create a new record */ abstract create(data: Omit): Promise; /** * Update an existing record */ abstract update(id: string, data: Partial): Promise; /** * Delete a record */ delete(id: string): Promise; }