declare type MessageListener<T> = (msg: T) => void;
export declare type ConnectSocket = {
    onError: (listener: MessageListener<Error>) => void;
    onMessage: <T>(listener: MessageListener<T>) => void;
    close: () => void;
    send: (message: string | object, callback?: () => void) => void;
};
export declare function connect(address: string, options: {
    tls: {
        key: string;
        cert: string;
        ca: string;
    } | false;
}, callback: (err: Error | null, socketServer?: ConnectSocket) => void): void;
export {};
