///
export interface AQM {
send(flow: number, args: T): boolean;
}
export declare class Null implements AQM {
private send_;
constructor(send_: (args: T) => void);
send(flow: number, args: T): boolean;
}
export declare class TailDrop implements AQM {
private send_;
private maxLength_;
private length_;
constructor(send_: (args: T) => Promise, maxLength_: number);
send(flow: number, args: T): boolean;
}
export declare class REDSentinel implements AQM {
private tracedSend_;
private fastSend_;
private tracingFraction_;
private dropThreshold_;
private static WEIGHT_;
private static SENDRATE_;
private length_;
private avg_;
private emptyDate_;
private emptyAvg_;
private counter_;
constructor(tracedSend_: (args: T) => Promise, fastSend_: (args: T) => void, tracingFraction_: number, dropThreshold_: number);
private updateAvg_();
send(flow: number, args: T): boolean;
}
export declare class CoDelIsh implements AQM {
private tracedSend_;
private fastSend_;
private tracingFraction_;
private targetDelay_;
private static BASE_INTERVAL_;
private dropLevel_;
private dropNext_;
private deadline_;
private sent_;
private minDelay_;
private traceCounter_;
private endOfInterval_(now);
constructor(tracedSend_: (args: T) => Promise, fastSend_: (args: T) => void, tracingFraction_: number, targetDelay_: number);
send(flow: number, args: T): boolean;
}