import * as sqlite3 from 'sqlite3';
export declare class Database {
    db: sqlite3.Database;
    private readonly MAX_RETRIES;
    private readonly RETRY_DELAY;
    constructor(customDbPath?: string);
    private ensureDirectoryExists;
    initialize(): Promise<void>;
    private addNetworkColumns;
    private migrateExistingData;
    insertDnsQuery(server: string, query: string, latency: number | null, error: string | null, networkName: string): Promise<void>;
    insertPingResult(host: string, latency: number | null, packetLoss: number | null, error: string | null, networkName: string): Promise<void>;
    insertWebsiteTest(url: string, latency: number | null, statusCode: number | null, error: string | null, networkName: string): Promise<void>;
    insertSpeedTest(downloadSpeed: number | null, uploadSpeed: number | null, ping: number | null, server: string | null, error: string | null, triggerReason: string, networkName: string): Promise<void>;
    updateBaseline(testType: string, target: string, latency: number): Promise<void>;
    getBaseline(testType: string, target: string): Promise<number | null>;
    getNetworkNames(): Promise<string[]>;
    close(): void;
    private runWithRetry;
}
//# sourceMappingURL=database.d.ts.map