import type { WebSocket as WS } from 'ws';
import type { TunnelMessage } from '../proto/api.ts';
import type { AcceptNewConnectionOpts, BGPListener, IAttestorServerSocket } from '../types/index.ts';
import { AttestorSocket } from '../utils/socket-base.ts';
export declare class AttestorServerSocket extends AttestorSocket implements IAttestorServerSocket {
    tunnels: IAttestorServerSocket['tunnels'];
    readonly sessionId: number;
    readonly bgpListener: BGPListener | undefined;
    private constructor();
    getTunnel(tunnelId: number): import("../types/index.ts").Tunnel<import("../types/index.ts").TCPSocketProperties>;
    removeTunnel(tunnelId: TunnelMessage['tunnelId']): void;
    static acceptConnection(socket: WS, { req, logger, bgpListener }: AcceptNewConnectionOpts): Promise<AttestorServerSocket | undefined>;
}
