/** * Rate Limit Middleware * * Limits connections and message rate per IP/user. */ import type { StreamMiddleware, RateLimitConfig } from '@plyaz/types/core'; /** * Create a rate limit middleware. * * @param config - Rate limit configuration * @returns Middleware function * * @example * ```typescript * const middleware = createRateLimitMiddleware({ * maxConnectionsPerIp: 5, * maxMessagesPerSecond: 50, * }); * * chain.use(middleware); * ``` */ export declare function createRateLimitMiddleware(config?: RateLimitConfig): StreamMiddleware; /** * Clean up rate limit tracking for a connection. * Call when a connection is closed. * * @param connectionId - Connection ID to clean up * @param ip - IP address of the connection */ export declare function cleanupRateLimitTracking(connectionId: string, ip?: string): void; /** * Get current rate limit stats. */ export declare function getRateLimitStats(): { connectionsByIp: Map; totalConnections: number; }; //# sourceMappingURL=RateLimitMiddleware.d.ts.map