// Generated by Lisette bindgen
// Source: encoding (Go stdlib)
// Go: 1.25.5
// Lisette: 0.1.14
/// BinaryAppender is the interface implemented by an object
/// that can append the binary representation of itself.
/// If a type implements both [BinaryAppender] and [BinaryMarshaler],
/// then v.MarshalBinary() must be semantically identical to v.AppendBinary(nil).
pub interface BinaryAppender {
fn AppendBinary(mut b: Slice<uint8>) -> Result<Slice<uint8>, error>
}
/// BinaryMarshaler is the interface implemented by an object that can
/// marshal itself into a binary form.
///
/// MarshalBinary encodes the receiver into a binary form and returns the result.
pub interface BinaryMarshaler {
fn MarshalBinary() -> Result<Slice<uint8>, error>
}
/// BinaryUnmarshaler is the interface implemented by an object that can
/// unmarshal a binary representation of itself.
///
/// UnmarshalBinary must be able to decode the form generated by MarshalBinary.
/// UnmarshalBinary must copy the data if it wishes to retain the data
/// after returning.
pub interface BinaryUnmarshaler {
fn UnmarshalBinary(data: Slice<uint8>) -> Result<(), error>
}
/// TextAppender is the interface implemented by an object
/// that can append the textual representation of itself.
/// If a type implements both [TextAppender] and [TextMarshaler],
/// then v.MarshalText() must be semantically identical to v.AppendText(nil).
pub interface TextAppender {
fn AppendText(mut b: Slice<uint8>) -> Result<Slice<uint8>, error>
}
/// TextMarshaler is the interface implemented by an object that can
/// marshal itself into a textual form.
///
/// MarshalText encodes the receiver into UTF-8-encoded text and returns the result.
pub interface TextMarshaler {
fn MarshalText() -> Result<Slice<uint8>, error>
}
/// TextUnmarshaler is the interface implemented by an object that can
/// unmarshal a textual representation of itself.
///
/// UnmarshalText must be able to decode the form generated by MarshalText.
/// UnmarshalText must copy the text if it wishes to retain the text
/// after returning.
pub interface TextUnmarshaler {
fn UnmarshalText(text: Slice<uint8>) -> Result<(), error>
}