import { Profile, Virtue, DailyEntry, Session, MonthlyDeepDive } from '../types/index.js';
export declare class Database {
    private db;
    constructor(dbPath?: string);
    private initialize;
    createProfile(profile: Omit<Profile, 'id' | 'created_at'>): Promise<Profile>;
    getProfile(id: string): Profile | null;
    getAllProfiles(): Profile[];
    hasProfiles(): boolean;
    createVirtue(virtue: Omit<Virtue, 'id' | 'created_at'>): Promise<Virtue>;
    getVirtue(id: string): Virtue | null;
    getVirtuesForProfile(profileId: string): Virtue[];
    createDailyEntry(entry: Omit<DailyEntry, 'id' | 'created_at'>): Promise<DailyEntry>;
    getDailyEntry(id: string): DailyEntry | null;
    getDailyEntryByDate(profileId: string, date: string): DailyEntry | null;
    getEntriesForProfile(profileId: string, cutoffDateOrDays?: Date | number): DailyEntry[];
    getLatestEntry(profileId: string): DailyEntry | null;
    createSession(session: Omit<Session, 'id' | 'created_at'>): Promise<Session>;
    getSession(id: string): Session | null;
    createMonthlyDeepDive(deepDive: Omit<MonthlyDeepDive, 'id' | 'created_at'>): Promise<MonthlyDeepDive>;
    getMonthlyDeepDiveById(id: string): MonthlyDeepDive | null;
    getMonthlyDeepDiveByMonth(profileId: string, month: string): MonthlyDeepDive | null;
    calculateCurrentStreak(profileId: string): number;
    calculateAverageCoherence(profileId: string, days?: number): number;
    createMonthlyDeepDiveSimple(profileId: string, month: string, analysisData: string, interventionPlan: string | null): string;
    getAllMonthlyDeepDives(profileId: string): MonthlyDeepDive[];
    close(): void;
}
//# sourceMappingURL=Database.d.ts.map