export interface UsageEntry {
    timestamp: string;
    sessionId: string;
    model: string;
    promptTokens: number;
    completionTokens: number;
    totalTokens: number;
    estimatedCost: number;
}
export interface UsageData {
    entries: UsageEntry[];
    budget: {
        dailyLimit: number;
        monthlyLimit: number;
        alertThreshold: number;
    };
    totals: {
        allTimeTokens: number;
        allTimeCost: number;
    };
}
export declare function getModelCost(model: string): {
    input: number;
    output: number;
};
export declare function estimateCost(model: string, promptTokens: number, completionTokens: number): number;
export declare function trackUsage(sessionId: string, model: string, promptTokens: number, completionTokens: number): {
    cost: number;
    warning?: string;
};
export declare function getUsageSummary(): {
    today: {
        tokens: number;
        cost: number;
        calls: number;
    };
    month: {
        tokens: number;
        cost: number;
        calls: number;
    };
    allTime: {
        tokens: number;
        cost: number;
    };
    budget: UsageData['budget'];
};
export declare function setBudget(daily: number, monthly: number, threshold?: number): void;
export declare function printUsageSummary(): void;
