import { PriorityQueue } from "../domain/priority-queue/priority-queue"; import { Request } from "../domain/request"; import { Statistics } from "../domain/statistics/statistics"; import { PidController } from "./pid-controller"; export declare class Rejector { private readonly priorityQueue; private readonly statistics; private readonly pidController; readonly initialThreshold: number; private readonly INITIAL_THRESHOLD; private threshold; private readonly MAX_QUEUE_EMPTY_TIME; private logger; constructor(priorityQueue: PriorityQueue, statistics: Statistics, pidController: PidController, initialThreshold: number, pidControllerInterval: number); process(request: Request): void; updateThreshold(newThreshold: number): void; startThresholdCheck(interval: number): void; private isServiceOverloaded; private updateThresholdByPercentile; private updateThresholdByLinealRecovery; }