import Database from 'better-sqlite3'; export interface CardRow { id: string; card_id: string | null; name: string; mana_cost: number | null; type: string | null; card_set: string | null; set_name: string | null; player_class: string | null; rarity: string | null; attack: number | null; health: number | null; durability: number | null; armor: number | null; text: string | null; flavor: string | null; artist: string | null; collectible: number; elite: number; race: string | null; spell_school: string | null; keywords: string | null; } /** * Opens (or creates) a SQLite database and initializes the schema. * * @param dataDir - Custom data directory. Defaults to ~/.hearthstone-oracle/. * Pass ':memory:' for an in-memory database (tests). * @returns A better-sqlite3 Database instance with schema applied. */ export declare function getDatabase(dataDir?: string): Database.Database; /** * Insert a single card into the cards table. */ export declare function insertCard(db: Database.Database, card: CardRow): void; /** * Insert multiple cards in batched transactions (500 per batch). */ export declare function insertCards(db: Database.Database, cards: CardRow[]): void; /** * Check if the cards table has any rows. */ export declare function hasExistingData(db: Database.Database): boolean; /** * Get all table names in the database (excluding internal SQLite tables). */ export declare function getTableNames(db: Database.Database): string[]; //# sourceMappingURL=db.d.ts.map