/**
 * API usage tracking database operations
 */
import type { DatabaseConnection } from './connection.js';
export interface UsageRecord {
    id: string;
    userId: string;
    apiProvider: 'openai' | 'openrouter';
    model: string;
    tokensUsed: number;
    costUsd: number;
    operationType: string;
    timestamp: number;
    date: string;
    metadata?: Record<string, any>;
}
export interface DailyUsageSummary {
    openai: {
        tokens: number;
        cost: number;
        requests: number;
    };
    openrouter: {
        tokens: number;
        cost: number;
        requests: number;
    };
    total: {
        tokens: number;
        cost: number;
        requests: number;
    };
}
export declare class UsageTrackingDB {
    private db;
    constructor(db: DatabaseConnection);
    recordUsage(record: Omit<UsageRecord, 'id'>): Promise<string>;
    getDailyUsage(userId: string, date: string): Promise<DailyUsageSummary>;
    getMonthlyUsage(userId: string, yearMonth: string): Promise<any[]>;
    getAllTimeUsage(userId: string): Promise<DailyUsageSummary>;
    getUserUsageByDateRange(userId: string, startDate: string, endDate: string): Promise<DailyUsageSummary>;
}
//# sourceMappingURL=usage-tracking.d.ts.map