# Functions
NewChain returns a new Chain structure for SessionState.
NewChainFromStructure will return a new Chain with the given chain structure.
NewPendingKeyExchange will return a new PendingKeyExchange object.
NewPendingKeyExchangeFromStruct will return a PendingKeyExchange object from the given structure.
NewPendingPreKey will return a new pending pre key object.
NewPendingPreKeyFromStruct will return a new pending prekey object from the given structure.
NewPreKey record returns a new pre key record that can be stored in a PreKeyStore.
NewPreKeyFromBytes will return a prekey record from the given bytes using the given serializer.
NewPreKeyFromStruct returns a PreKey record using the given serializable structure.
NewReceiverChainPair will return a new ReceiverChainPair object.
NewSession creates a new session record and uses the given session and state serializers to convert the object into storeable bytes.
NewSessionFromBytes will return a Signal Session from the given bytes using the given serializer.
NewSessionFromState creates a new session record from the given session state.
NewSessionFromStructure will return a new Signal Session from the given session structure and serializer.
NewSignedPreKey record creates a new signed pre key record with the given properties.
NewSignedPreKeyFromBytes will return a signed prekey record from the given bytes using the given serializer.
NewSignedPreKeyFromStruct returns a SignedPreKey record using the given serializable structure.
NewState returns a new session state.
NewStateFromBytes will return a Signal State from the given bytes using the given serializer.
NewStateFromStructure will return a new session state with the given state structure.
NewUnackPreKeyMessageItems returns message items that are unacknowledged.
NewUnackPreKeyMessageItemsFromStruct will return a new unacknowledged prekey message items object from the given structure.
# Structs
Chain is a structure used inside the SessionState that keeps track of an ongoing ratcheting chain for a session.
ChainStructure is a serializeable structure for chain states.
PendingKeyExchange is a structure for storing a pending key exchange for a session state.
PendingKeyExchangeStructure is a serializable structure for pending key exchanges.
PendingPreKey is a structure for pending pre keys for a session state.
PendingPreKeyStructure is a serializeable structure for pending prekeys.
PreKey record is a structure for storing pre keys inside a PreKeyStore.
PreKeyStructure is a structure for serializing PreKey records.
ReceiverChainPair is a structure for a receiver chain key and index number.
Session encapsulates the state of an ongoing session.
SessionStructure is a public, serializeable structure for Signal Sessions.
SignedPreKey record is a structure for storing a signed pre key in a SignedPreKey store.
SignedPreKeyStructure is a flat structure of a signed pre key, used for serialization and deserialization.
State is a session state that contains the structure for all sessions.
StateStructure is the structure of a session state.
UnackPreKeyMessageItems is a structure for messages that have not been acknowledged.
UnackPreKeyMessageItemsStructure is a serializable structure for unackowledged prekey message items.
# Interfaces
PreKeySerializer is an interface for serializing and deserializing PreKey objects into bytes.
SessionSerializer is an interface for serializing and deserializing a Signal Session into bytes.
SignedPreKeySerializer is an interface for serializing and deserializing SignedPreKey objects into bytes.
StateSerializer is an interface for serializing and deserializing a Signal State into bytes.