@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
29 lines • 895 B
TypeScript
import winston from 'winston';
export interface QuotaJob {
ts?: number;
done: boolean;
func: () => Promise<void>;
skipCounter?: boolean;
}
export declare class QuotaLimiter {
private readonly logger;
private jobs;
private running;
private counter;
private initialLimit;
private currentLimit;
private oldCounter;
private saveHandler;
private eventBus;
constructor(initialJobs: QuotaJob[] | undefined, logger: winston.Logger, eventBus?: any);
setInitialLimit(queries: any, seconds: any): void;
slowdown(): void;
speedup(): void;
setLimit(queries: any, seconds: any): boolean;
addJob(func: any): void;
handleQueue(): void;
removeOlderThan(minTime: any): void;
calculateAvailableQuota(now: any): number;
setSaveHandler(handler: (jobs: QuotaJob[]) => void): void;
}
//# sourceMappingURL=QuotaLimiter.d.ts.map