/**
 * Usage Service
 *
 * Tracks and reports usage against tier limits
 */
import type { Tier } from '../types/auth.js';
export interface UsageStat {
    used: number;
    limit: number;
    remaining: number;
}
export interface UsageReport {
    tier: Tier;
    today: {
        checks: UsageStat;
        downloads: UsageStat;
        syncs: UsageStat;
    };
}
export interface LimitCheckResult {
    allowed: boolean;
    current: number;
    limit: number;
    remaining: number;
    tier: Tier;
}
export declare class UsageService {
    private apiUrl;
    constructor(apiUrl?: string);
    private getHeaders;
    getUsage(): Promise<UsageReport>;
    checkLimit(action: 'check' | 'download' | 'sync'): Promise<LimitCheckResult>;
    recordUsage(action: 'check' | 'download' | 'sync'): Promise<void>;
    private getOfflineUsage;
}
export declare function getUsageService(): UsageService;
//# sourceMappingURL=usage-service.d.ts.map