@river-build/sdk
Version:
For more details, visit the following resources:
86 lines • 5.81 kB
TypeScript
import { SnapshotCaseType, FullyReadMarker, UserInboxPayload_GroupEncryptionSessions, UserSettingsPayload_UserBlock, UserPayload_UserMembership, UserInboxPayload_Snapshot_DeviceSummary, BlockchainTransaction_Tip } from '@river-build/proto';
import { ClientInitStatus, ConfirmedTimelineEvent, DecryptedTimelineEvent, LocalTimelineEvent, RemoteTimelineEvent, StreamTimelineEvent } from './types';
import { EventSignatureBundle, KeySolicitationContent, UserDevice } from '@river-build/encryption';
import { EncryptedContent } from './encryptedContentTypes';
import { SyncState } from './syncedStreamsLoop';
import { Pin } from './streamStateView_Members';
import { SpaceReviewEventObject } from '@river-build/web3';
export type StreamChange = {
prepended?: RemoteTimelineEvent[];
appended?: StreamTimelineEvent[];
updated?: StreamTimelineEvent[];
confirmed?: ConfirmedTimelineEvent[];
};
export type StreamEncryptionEvents = {
newGroupSessions: (sessions: UserInboxPayload_GroupEncryptionSessions, senderId: string) => void;
newEncryptedContent: (streamId: string, eventId: string, content: EncryptedContent) => void;
newKeySolicitation: (streamId: string, fromUserId: string, fromUserAddress: Uint8Array, event: KeySolicitationContent, sigBundle: EventSignatureBundle) => void;
updatedKeySolicitation: (streamId: string, fromUserId: string, fromUserAddress: Uint8Array, event: KeySolicitationContent, sigBundle: EventSignatureBundle) => void;
initKeySolicitations: (streamId: string, members: {
userId: string;
userAddress: Uint8Array;
solicitations: KeySolicitationContent[];
}[], sigBundle: EventSignatureBundle) => void;
userDeviceKeyMessage: (streamId: string, userId: string, userDevice: UserDevice) => void;
};
export type SyncedStreamEvents = {
streamSyncStateChange: (newState: SyncState) => void;
streamRemovedFromSync: (streamId: string) => void;
streamSyncActive: (active: boolean) => void;
};
export type StreamStateEvents = {
clientInitStatusUpdated: (status: ClientInitStatus) => void;
streamNewUserJoined: (streamId: string, userId: string) => void;
streamNewUserInvited: (streamId: string, userId: string) => void;
streamUserLeft: (streamId: string, userId: string) => void;
streamMembershipUpdated: (streamId: string, userId: string) => void;
streamPendingMembershipUpdated: (streamId: string, userId: string) => void;
userJoinedStream: (streamId: string) => void;
userInvitedToStream: (streamId: string) => void;
userLeftStream: (streamId: string) => void;
userStreamMembershipChanged: (streamId: string, payload: UserPayload_UserMembership) => void;
userProfileImageUpdated: (streamId: string) => void;
userBioUpdated: (streamId: string) => void;
userInboxDeviceSummaryUpdated: (streamId: string, deviceKey: string, summary: UserInboxPayload_Snapshot_DeviceSummary) => void;
userDeviceKeysUpdated: (streamId: string, deviceKeys: UserDevice[]) => void;
userTipSent: (streamId: string, currency: string, amount: bigint) => void;
userTipReceived: (streamId: string, currency: string, amount: bigint) => void;
streamTipped: (streamId: string, eventId: string, transaction: BlockchainTransaction_Tip) => void;
spaceChannelCreated: (spaceId: string, channelId: string) => void;
spaceChannelUpdated: (spaceId: string, channelId: string, updatedAtEventNum: bigint) => void;
spaceChannelAutojoinUpdated: (spaceId: string, channelId: string, autojoin: boolean) => void;
spaceChannelHideUserJoinLeaveEventsUpdated: (spaceId: string, channelId: string, hideUserJoinLeaveEvents: boolean) => void;
spaceChannelDeleted: (spaceId: string, channelId: string) => void;
spaceImageUpdated: (spaceId: string) => void;
spaceReviewsUpdated: (streamId: string, review: SpaceReviewEventObject) => void;
channelPinAdded: (channelId: string, pin: Pin) => void;
channelPinRemoved: (channelId: string, pin: Pin, index: number) => void;
channelPinDecrypted: (channelId: string, pin: Pin, index: number) => void;
fullyReadMarkersUpdated: (channelId: string, fullyReadMarkers: Record<string, FullyReadMarker>) => void;
userBlockUpdated: (userBlock: UserSettingsPayload_UserBlock) => void;
eventDecrypted: (streamId: string, contentKind: SnapshotCaseType, event: DecryptedTimelineEvent) => void;
streamInitialized: (streamId: string, contentKind: SnapshotCaseType) => void;
streamUpToDate: (streamId: string) => void;
streamUpdated: (streamId: string, contentKind: SnapshotCaseType, change: StreamChange) => void;
streamLocalEventUpdated: (streamId: string, contentKind: SnapshotCaseType, localEventId: string, event: LocalTimelineEvent) => void;
streamLatestTimestampUpdated: (streamId: string) => void;
streamUsernameUpdated: (streamId: string, userId: string) => void;
streamDisplayNameUpdated: (streamId: string, userId: string) => void;
streamPendingUsernameUpdated: (streamId: string, userId: string) => void;
streamPendingDisplayNameUpdated: (streamId: string, userId: string) => void;
streamEnsAddressUpdated: (streamId: string, userId: string) => void;
streamNftUpdated: (streamId: string, userId: string) => void;
streamChannelPropertiesUpdated: (streamId: string) => void;
streamEncryptionAlgorithmUpdated: (streamId: string, encryptionAlgorithm?: string) => void;
streamTokenTransfer: (streamId: string, transaction: {
address: Uint8Array;
amount: bigint;
isBuy: boolean;
chainId: string;
userId: string;
createdAtEpochMs: bigint;
messageId: string;
}) => void;
};
export type StreamEvents = StreamEncryptionEvents & StreamStateEvents & SyncedStreamEvents;
//# sourceMappingURL=streamEvents.d.ts.map