/// import net from 'net'; import { Event } from '../../event'; import { Config } from '../../fileStores/config'; import { Logger } from '../../logger'; import { SetTimeoutToken } from '../../utils'; import { DisconnectReason } from './constants'; import { StratumServer } from './stratumServer'; import { StratumServerClient } from './stratumServerClient'; export declare class StratumPeers { readonly logger: Logger; readonly maxConnectionsByIp: number; readonly server: StratumServer; readonly banning: boolean; readonly onBanned: Event<[StratumServerClient]>; banCount: number; protected readonly bannedByIp: Map; protected readonly connectionsByIp: Map; protected readonly scoreByIp: Map; protected readonly shadowBans: Set; protected eventLoopTimeout: SetTimeoutToken | null; constructor(options: { maxConnectionsPerIp?: number; config: Config; logger?: Logger; banning?: boolean; server: StratumServer; }); start(): void; stop(): void; punish(client: StratumServerClient, message?: string, amount?: number): void; shadowBan(client: StratumServerClient): void; ban(client: StratumServerClient, options?: { reason?: DisconnectReason; message?: string; until?: number; versionExpected?: number; }): void; sendBanMessage(socket: net.Socket): void; isShadowBanned(client: StratumServerClient): boolean; isBanned(socket: net.Socket): boolean; isAllowed(socket: net.Socket): boolean; addConnectionCount(client: StratumServerClient): void; removeConnectionCount(client: StratumServerClient): void; unpunish(remoteAddress: string, reduceBy?: number): void; eventLoop(): void; } //# sourceMappingURL=stratumPeers.d.ts.map