import { IBuilder } from "./../../GN-library/xbuilder/lib/IBuilder";
declare abstract class BuilderBase {
    protected socketMaxRequestPerSecondPerIp: number;
    protected socketMaxRequestPerSecondPerPeer: number;
    protected socketMaxPendingRequest: number;
    protected socketMaxRequestSize: number;
    protected httpMaxRequestPerSecondPerIp: number;
    protected httpMaxRequestPerSecondPerPeer: number;
    protected httpMaxPendingRequest: number;
    protected httpMaxRequestSize: number;
    protected maxUploadPendingRequest: number;
    protected maxDownloadPendingRequest: number;
    protected ipWhiteList: string[];
    getSocketMaxRequestPerSecondPerIp(): number;
    getSocketMaxRequestPerSecondPerPeer(): number;
    getSocketMaxPendingRequest(): number;
    getSocketMaxRequestSize(): number;
    getHttpMaxRequestPerSecondPerIp(): number;
    getHttpMaxRequestPerSecondPerPeer(): number;
    getHttpMaxPendingRequest(): number;
    getHttpMaxRequestSize(): number;
    getMaxUploadPendingRequest(): number;
    getMaxDownloadPendingRequest(): number;
    getIPWhiteList(): string[];
    constructor();
}
declare class Builder extends BuilderBase implements IBuilder<DdosSettings> {
    setSocketMaxRequestPerSecondPerIp(socketMaxRequestPerSecondPerIp: number): Builder;
    setSocketMaxRequestPerSecondPerPeer(socketMaxRequestPerSecondPerPeer: number): Builder;
    setSocketMaxPendingRequest(socketMaxPendingRequest: number): Builder;
    setSocketMaxRequestSize(socketMaxRequestSize: number): Builder;
    setHttpMaxRequestPerSecondPerIp(httpMaxRequestPerSecondPerIp: number): Builder;
    setHttpMaxRequestPerSecondPerPeer(httpMaxRequestPerSecondPerPeer: number): Builder;
    setHttpMaxPendingRequest(httpMaxPendingRequest: number): Builder;
    setHttpMaxRequestSize(httpMaxRequestSize: number): Builder;
    setMaxUploadPendingRequest(maxUploadPendingRequest: number): Builder;
    setMaxDownloadPendingRequest(maxDownloadPendingRequest: number): Builder;
    setIPWhiteList(ipWhiteList: string[]): Builder;
    constructor();
    build(): DdosSettings;
}
export declare class DdosSettings extends BuilderBase {
    constructor(builder: Builder);
    static Builder(): Builder;
}
export {};
