ProtocolEvents: StreamEvents & {
    end: () => void;
    finish: (item: any) => void;
    handshake: (data: any) => any;
    "have-all": () => void;
    "item-updated": (item: string, newValue: number) => void;
    "new-item": (item: string) => void;
    piping: (data: any) => any;
    unchoke: () => any;
    upload: (data: any) => void;
}