declare type Binder = {
    id: string;
    send: (message: string | object, callback?: () => void) => void;
    buffer: string;
};
declare type MessageListener<T> = (data: T, binder: Binder) => void;
export declare type ServerSocket = {
    close: () => void;
    onMessage: <T>(listener: MessageListener<T>) => void;
};
export declare function bind(address: string, options: {
    tls: {
        key: string;
        cert: string;
        ca: string;
    } | false;
}, callback: (err: Error | null, socketServer?: ServerSocket) => void): void;
export {};
