import { JwtService } from '@nestjs/jwt';
import { ConfigService } from '@nestjs/config';
import { OnGatewayConnection, OnGatewayDisconnect } from '@nestjs/websockets';
import type { Server, Socket } from 'socket.io';
export declare class AssembliesGateway implements OnGatewayConnection, OnGatewayDisconnect {
    private readonly jwt;
    private readonly config;
    private readonly logger;
    server: Server;
    constructor(jwt: JwtService, config: ConfigService);
    handleConnection(client: Socket): void;
    handleDisconnect(client: Socket): void;
    handleSubscribe(client: Socket, data: {
        assemblyId: string;
    }): {
        ok: boolean;
        error: string;
        room?: undefined;
    } | {
        ok: boolean;
        room: string;
        error?: undefined;
    };
    broadcastVoteCast(assemblyId: string, payload: {
        resolutionId: string;
        choice: string;
        totals: {
            for: number;
            against: number;
            abstain: number;
        };
    }): void;
    broadcastStatusChange(assemblyId: string, status: string): void;
}
