import { l } from '@atproto/lex'; declare const $nsid = "chat.bsky.moderation.subscribeModEvents"; export { $nsid }; export declare const $params: l.ParamsSchema<{ readonly cursor: l.OptionalSchema>; }>; export type $Params = l.InferOutput; export declare const $message: l.TypedUnionSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>], false>; export type $Message = l.InferOutput; /** Subscribe to stream of chat events targeted to moderation. Private endpoint. */ declare const main: l.Subscription<"chat.bsky.moderation.subscribeModEvents", l.ParamsSchema<{ readonly cursor: l.OptionalSchema>; }>, l.TypedUnionSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>, l.TypedRefSchema>], false>, readonly ["FutureCursor", "ConsumerTooSlow"]>; export { main }; export declare const $lxm = "chat.bsky.moderation.subscribeModEvents"; /** Fired when the first message was sent on a convo. */ type EventConvoFirstMessage = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventConvoFirstMessage'; convoId: string; createdAt: l.DatetimeString; messageId?: string; /** * The list of DIDs message recipients. Does not include the sender, which is in the `user` field */ recipients: l.DidString[]; rev: string; /** * The DID of the message author. */ user: l.DidString; }; export type { EventConvoFirstMessage }; /** Fired when the first message was sent on a convo. */ declare const eventConvoFirstMessage: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventConvoFirstMessage", l.Validator>; export { eventConvoFirstMessage }; /** Fire when a group chat is created. */ type EventGroupChatCreated = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatCreated'; /** * The DID of the actor performing the action. For this event, same as ownerDid. */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; /** * The name set at creation time. */ groupName: string; /** * DIDs of everyone added at creation time. */ initialMemberDids: l.DidString[]; /** * The DID of the group chat owner. */ ownerDid: l.DidString; rev: string; }; export type { EventGroupChatCreated }; /** Fire when a group chat is created. */ declare const eventGroupChatCreated: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatCreated", l.Validator>; export { eventGroupChatCreated }; /** Fired when a member is added to a group chat. Note that members are added in the 'request' state. */ type EventGroupChatMemberAdded = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberAdded'; /** * The DID of the actor performing the action. For this event, same as ownerDid. */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; groupName: string; /** * The DID of the group chat owner. */ ownerDid: l.DidString; /** * The number of members who have not yet accepted the convo. */ requestMembersCount: number; rev: string; /** * The DID of the member who was added. */ subjectDid: l.DidString; /** * Whether the added member follows the group owner. */ subjectFollowsOwner: boolean; }; export type { EventGroupChatMemberAdded }; /** Fired when a member is added to a group chat. Note that members are added in the 'request' state. */ declare const eventGroupChatMemberAdded: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberAdded", l.Validator>; export { eventGroupChatMemberAdded }; /** Fired when a member joins a group chat via an join link that does not require approval. */ type EventGroupChatMemberJoined = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberJoined'; /** * The DID of the person joining. */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; groupName: string; /** * The code of the join link used to join. */ joinLinkCode: string; /** * The DID of the group chat owner. */ ownerDid: l.DidString; rev: string; /** * Whether the joining member follows the group owner. */ subjectFollowsOwner: boolean; }; export type { EventGroupChatMemberJoined }; /** Fired when a member joins a group chat via an join link that does not require approval. */ declare const eventGroupChatMemberJoined: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberJoined", l.Validator>; export { eventGroupChatMemberJoined }; /** Fired when a user requests to join a group chat via an join link that requires approval. */ type EventGroupChatJoinRequest = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequest'; /** * The DID of the person requesting to join. */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; groupName: string; /** * The code of the join link used to request joining. */ joinLinkCode: string; /** * The DID of the group chat owner. */ ownerDid: l.DidString; rev: string; /** * Whether the requesting member follows the group owner. */ subjectFollowsOwner: boolean; }; export type { EventGroupChatJoinRequest }; /** Fired when a user requests to join a group chat via an join link that requires approval. */ declare const eventGroupChatJoinRequest: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequest", l.Validator>; export { eventGroupChatJoinRequest }; /** Fired when a join request is approved by the group owner. */ type EventGroupChatJoinRequestApproved = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequestApproved'; /** * The DID of the owner approving the request. */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; groupName: string; /** * The DID of the group chat owner. */ ownerDid: l.DidString; rev: string; /** * The DID of the member whose request was approved. */ subjectDid: l.DidString; }; export type { EventGroupChatJoinRequestApproved }; /** Fired when a join request is approved by the group owner. */ declare const eventGroupChatJoinRequestApproved: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequestApproved", l.Validator>; export { eventGroupChatJoinRequestApproved }; /** Fired when a join request is rejected by the group owner. */ type EventGroupChatJoinRequestRejected = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequestRejected'; /** * The DID of the owner rejecting the request. */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; groupName: string; /** * The DID of the group chat owner. */ ownerDid: l.DidString; rev: string; /** * The DID of the member whose request was rejected. */ subjectDid: l.DidString; }; export type { EventGroupChatJoinRequestRejected }; /** Fired when a join request is rejected by the group owner. */ declare const eventGroupChatJoinRequestRejected: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequestRejected", l.Validator>; export { eventGroupChatJoinRequestRejected }; /** Fired when a user accepts a chat convo, either explicitly or by sending a message. */ type EventChatAccepted = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventChatAccepted'; /** * The DID of the person accepting the convo. */ actorDid: l.DidString; /** * When the convo was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. Only present for group convos. */ groupMemberCount?: number; /** * The name of the group chat. Only present for group convos. */ groupName?: string; /** * How the convo was accepted. */ method: 'explicit' | 'message' | l.UnknownString; /** * The DID of the group chat owner. Only present for group convos. */ ownerDid?: l.DidString; rev: string; }; export type { EventChatAccepted }; /** Fired when a user accepts a chat convo, either explicitly or by sending a message. */ declare const eventChatAccepted: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventChatAccepted", l.Validator>; export { eventChatAccepted }; /** Fired when a member leaves or is removed from a group chat. */ type EventGroupChatMemberLeft = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberLeft'; /** * The DID of the actor. For voluntary: the person leaving. For kicked: the owner. */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; groupName: string; /** * How the member left. */ leaveMethod: 'voluntary' | 'kicked' | l.UnknownString; /** * The DID of the group chat owner. */ ownerDid: l.DidString; rev: string; /** * The DID of the member who left or was removed. */ subjectDid: l.DidString; }; export type { EventGroupChatMemberLeft }; /** Fired when a member leaves or is removed from a group chat. */ declare const eventGroupChatMemberLeft: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberLeft", l.Validator>; export { eventGroupChatMemberLeft }; /** Fired when a group chat's metadata or status changes. */ type EventGroupChatUpdated = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventGroupChatUpdated'; /** * The DID of the actor performing the action (the owner). */ actorDid: l.DidString; /** * When the group was originally created. */ convoCreatedAt: l.DatetimeString; convoId: string; createdAt: l.DatetimeString; /** * Current member count at the time of the event. */ groupMemberCount: number; /** * Current group name. */ groupName: string; /** * The code of the join link. Only present when updateType is join-link-related. */ joinLinkCode?: string; /** * Whether the join link is restricted to followers of the owner. Only present when updateType is join-link-related. */ joinLinkFollowersOnly?: boolean; /** * Whether the join link requires owner approval to join. Only present when updateType is join-link-related. */ joinLinkRequiresApproval?: boolean; /** * Why the group was locked. Only present when updateType is 'locked'. */ lockReason?: 'owner_action' | 'owner_left' | 'owner_deactivated' | 'owner_deleted' | 'owner_suspended' | 'owner_taken_down' | 'label_applied' | 'convo_taken_down' | l.UnknownString; /** * The new group name. Only present when updateType is 'name_changed'. */ newName?: string; /** * The previous group name. Only present when updateType is 'name_changed'. */ oldName?: string; /** * The DID of the group chat owner. */ ownerDid: l.DidString; rev: string; /** * What changed. */ updateType: 'name_changed' | 'locked' | 'locked_permanently' | 'unlocked' | 'join_link_created' | 'join_link_disabled' | 'join_link_settings_changed' | l.UnknownString; }; export type { EventGroupChatUpdated }; /** Fired when a group chat's metadata or status changes. */ declare const eventGroupChatUpdated: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventGroupChatUpdated", l.Validator>; export { eventGroupChatUpdated }; /** Fired when a user exceeds a rate limit. */ type EventRateLimitExceeded = { $type?: 'chat.bsky.moderation.subscribeModEvents#eventRateLimitExceeded'; /** * The DID of the user who hit the rate limit. */ actorDid: l.DidString; createdAt: l.DatetimeString; /** * The NSID of the endpoint that was rate limited. */ endpoint: string; rev: string; }; export type { EventRateLimitExceeded }; /** Fired when a user exceeds a rate limit. */ declare const eventRateLimitExceeded: l.TypedObjectSchema<"chat.bsky.moderation.subscribeModEvents#eventRateLimitExceeded", l.Validator>; export { eventRateLimitExceeded }; //# sourceMappingURL=subscribeModEvents.defs.d.ts.map