import { DynamicModule } from '@nestjs/common';
export interface WebSocketOptions {
    cors?: {
        origin?: string | string[] | boolean;
        methods?: string[];
        allowedHeaders?: string[];
        exposedHeaders?: string[];
        credentials?: boolean;
        maxAge?: number;
    };
    namespace?: string;
    useAdapter?: boolean;
    auth?: {
        required?: boolean;
        handshake?: boolean;
    };
    rateLimiter?: {
        enabled?: boolean;
        maxConnectionsPerIp?: number;
        maxMessagesPerMinute?: number;
        maxSubscriptionsPerClient?: number;
        blockDuration?: number;
        autoDisconnect?: boolean;
        enableBanning?: boolean;
        banThreshold?: number;
        banDuration?: number;
    };
    health?: {
        enabled?: boolean;
        checkInterval?: number;
    };
}
export declare class WebsocketModule {
    static register(options?: WebSocketOptions): DynamicModule;
}
