class log.Writer

class Writer {
    // methods

    void write(
        uint64_t timestamp,
        uint64_t recordCode,
        void const* p,
        size_t size
    );

    void write(
        uint64_t timestamp,
        uint64_t recordCode,
        void const* p1,
        size_t size1,
        void const* p2,
        size_t size2
    );

    void write(
        uint64_t recordCode,
        void const* p,
        size_t size
    );

    void write(
        uint64_t recordCode,
        void const* p1,
        size_t size1,
        void const* p2,
        size_t size2
    );

    void write(
        uint64_t timestamp,
        uint64_t recordCode
    );

    void write(uint64_t recordCode);

    void write(
        uint64_t timestamp,
        uint64_t recordCode,
        string_t text
    );

    void write(
        uint64_t recordCode,
        string_t text
    );

    void write(string_t text);

    void write(
        uint64_t timestamp,
        uint64_t recordCode,
        std.Error const* error
    );

    void write(
        uint64_t recordCode,
        std.Error const* error
    );

    void writeLastError(
        uint64_t timestamp,
        uint64_t recordCode
    );

    void writeLastError(uint64_t recordCode);

    void retroColorize(
        intptr_t retroOffset,
        size_t length,
        ui.TextAttr attr,
        log.RetroColorizeFlags flags = 0
    );

    void retroColorize(
        intptr_t retroOffset,
        size_t length,
        uint_t color
    );

    void sync(uint64_t syncId);
};