# Source code for nio.event_builders.event_builder

    # -*- coding: utf-8 -*-

    # Copyright © 2018, 2019 Damir Jelić <poljar@termina.org.uk>
    # Copyright © 2019 miruka <miruka@disroot.org>
    #
    # Permission to use, copy, modify, and/or distribute this software for
    # any purpose with or without fee is hereby granted, provided that the
    # above copyright notice and this permission notice appear in all copies.
    #
    # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
    # SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
    # RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
    # CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
    # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

    # TODO: use abc.ABC when we drop py2
    class EventBuilder:
        """The base class for event builders, should not be instancied."""

        def as_dict(self):
            """Format the event as a dictionary, to be sent to the server."""
            raise NotImplementedError()