UNPKG

@river-build/sdk

Version:

For more details, visit the following resources:

66 lines 2.5 kB
import { PersistedObservable } from '../../../observable/persistedObservable'; import type { Store } from '../../../store/store'; import type { RiverConnection } from '../../river-connection/riverConnection'; import { MembershipOp } from '@river-build/proto'; export type MemberModel = { /** * The store id of the member. * @internal */ id: string; /** The id of the user. */ userId: string; /** The id of the stream where the data belongs to. */ streamId: string; /** Whether the SyncAgent has loaded this data. */ initialized: boolean; /** Username of the member. */ username: string; /** Whether the username has been confirmed by the River node. */ isUsernameConfirmed: boolean; /** Whether the username is encrypted. */ isUsernameEncrypted: boolean; /** Display name of the member. */ displayName: string; /** Whether the display name is encrypted. */ isDisplayNameEncrypted?: boolean; /** * ENS address of the member. * Should not be trusted, as it can be spoofed. * You should be validating it. */ ensAddress?: string; /** * {@link NftModel} of the member. * Should not be trusted, as it can be spoofed. * You should be validating it. */ nft?: NftModel; /** {@link MembershipOp} of the member. */ membership?: MembershipOp; }; export type NftModel = { /** The contract address of the NFT. */ contractAddress: string; /** The token id of the NFT. */ tokenId: string; /** The chain id of the NFT. */ chainId: number; }; export declare class Member extends PersistedObservable<MemberModel> { private userId; protected riverConnection: RiverConnection; constructor(userId: string, streamId: string, riverConnection: RiverConnection, store: Store); onStreamInitialized(streamId: string): void; onStreamUsernameUpdated(streamId: string, userId: string): void; onStreamNftUpdated: (streamId: string, userId: string) => void; onStreamEnsAddressUpdated: (streamId: string, userId: string) => void; onStreamDisplayNameUpdated: (streamId: string, userId: string) => void; onStreamMembershipUpdated: (streamId: string, userId: string, membership: MembershipOp) => void; get username(): string; get displayName(): string; get ensAddress(): string | undefined; get nft(): NftModel | undefined; get membership(): MembershipOp | undefined; } //# sourceMappingURL=member.d.ts.map