export interface StudioQuotaOptions {
    readonly dailyChapterLimit: number;
    readonly globalDailyChapterLimit: number;
    readonly today?: () => string;
    readonly onRollover?: () => void;
}
export declare class QuotaExceededError extends Error {
    readonly scope: "user" | "global";
    constructor(scope: "user" | "global");
}
export declare class StudioQuotaRuntime {
    private readonly options;
    private readonly userCounters;
    private globalCounter;
    private lastDate;
    constructor(options: StudioQuotaOptions);
    get dailyChapterLimit(): number;
    get globalDailyChapterLimit(): number;
    ensureFreshDate(): boolean;
    getUserUsage(userId: string): number;
    getGlobalUsage(): number;
    assertCanConsume(userId: string): void;
    consumeChapter(userId: string): void;
    private getUserCounter;
    private currentDate;
}
//# sourceMappingURL=quota.d.ts.map