import Database from "better-sqlite3"; import { DatabaseAdapter } from "./DatabaseAdapter"; export declare class SqliteAdapter implements DatabaseAdapter { db: Database.Database; constructor(dbPath?: string); initializeTables(): void; all(sql: string, params?: any[]): Promise; get(sql: string, params?: any[]): Promise; run(sql: string, params?: any[]): Promise<{ lastID: number; changes: number; }>; prepare(sql: string): any; exec(sql: string): void; close(): void; getDb(): Database.Database; createStudent(id: string, name: string, email: string, passwordHash: string): Database.RunResult; createTeacher(id: string, name: string, email: string, passwordHash: string): Database.RunResult; findTeacherByEmail(email: string): any; findTeacherById(id: string): any; findStudentByEmail(email: string): any; findStudentById(id: string): any; /** * @deprecated Use findCoursesByTeacherId instead */ findCoursesByAgentId(agentId: string): any[]; findCoursesByTeacherId(teacherId: string): any[]; /** * @deprecated Use findCategoriesByTeacherId instead */ findCategoriesByAgentId(agentId: string): any[]; findCategoriesByTeacherId(teacherId: string): any[]; /** * Migrates data from agent_id to teacher_id for courses and categories * This helps with transitioning from the old model to the new teacher-based model * @param agentId The agent ID to migrate from * @param teacherId The teacher ID to migrate to */ migrateAgentToTeacher(agentId: string, teacherId: string): void; }