/// import Address from './address' import Connection, { EventTypes } from './connection' import * as net from 'net' import Event from './event' import Obfs from '../obfs/obfs' export interface Info { version: number address: Address userId?: string } export interface HandlerResolve { socket: net.Socket address: Address obfs: Obfs rsv?: number args?: any } export type Handler = ( info: Info, socket: net.Socket, obfs: Obfs, event?: Event, resolve?: (value: PromiseLike | HandlerResolve) => void, reject?: ((reason?: any) => void) | undefined ) => void /** * Inputs a callback function and return a function that accept connection and, * executes callback with function its properties * @returns function */ export declare const handler: ( callback: Handler ) => (connection: Connection) => void