/**
 * GENERATED CODE - DO NOT MODIFY
 */
import { type ValidationResult } from '@atproto/lexicon';
import { type $Typed } from '../../../../util';
import type * as AppBskyRichtextFacet from '../../../app/bsky/richtext/facet.js';
import type * as AppBskyEmbedRecord from '../../../app/bsky/embed/record.js';
import type * as ChatBskyActorDefs from '../actor/defs.js';
import type * as ChatBskyGroupDefs from '../group/defs.js';
export type ConvoKind = 'direct' | 'group' | (string & {});
export type ConvoLockStatus = 'unlocked' | 'locked' | 'locked-permanently' | (string & {});
export type ConvoStatus = 'request' | 'accepted' | (string & {});
export interface MessageRef {
    $type?: 'chat.bsky.convo.defs#messageRef';
    did: string;
    convoId: string;
    messageId: string;
}
export declare function isMessageRef<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "messageRef">;
export declare function validateMessageRef<V>(v: V): ValidationResult<MessageRef & V>;
export interface MessageInput {
    $type?: 'chat.bsky.convo.defs#messageInput';
    text: string;
    /** Annotations of text (mentions, URLs, hashtags, etc) */
    facets?: AppBskyRichtextFacet.Main[];
    embed?: $Typed<AppBskyEmbedRecord.Main> | {
        $type: string;
    };
}
export declare function isMessageInput<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "messageInput">;
export declare function validateMessageInput<V>(v: V): ValidationResult<MessageInput & V>;
export interface MessageView {
    $type?: 'chat.bsky.convo.defs#messageView';
    id: string;
    rev: string;
    text: string;
    /** Annotations of text (mentions, URLs, hashtags, etc) */
    facets?: AppBskyRichtextFacet.Main[];
    embed?: $Typed<AppBskyEmbedRecord.View> | {
        $type: string;
    };
    /** Reactions to this message, in ascending order of creation time. */
    reactions?: ReactionView[];
    sender: MessageViewSender;
    sentAt: string;
}
export declare function isMessageView<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "messageView">;
export declare function validateMessageView<V>(v: V): ValidationResult<MessageView & V>;
export interface SystemMessageReferredUser {
    $type?: 'chat.bsky.convo.defs#systemMessageReferredUser';
    did: string;
}
export declare function isSystemMessageReferredUser<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageReferredUser">;
export declare function validateSystemMessageReferredUser<V>(v: V): ValidationResult<SystemMessageReferredUser & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. */
export interface SystemMessageView {
    $type?: 'chat.bsky.convo.defs#systemMessageView';
    id: string;
    rev: string;
    sentAt: string;
    data: $Typed<SystemMessageDataAddMember> | $Typed<SystemMessageDataRemoveMember> | $Typed<SystemMessageDataMemberJoin> | $Typed<SystemMessageDataMemberLeave> | $Typed<SystemMessageDataLockConvo> | $Typed<SystemMessageDataUnlockConvo> | $Typed<SystemMessageDataLockConvoPermanently> | $Typed<SystemMessageDataEditGroup> | $Typed<SystemMessageDataCreateJoinLink> | $Typed<SystemMessageDataEditJoinLink> | $Typed<SystemMessageDataEnableJoinLink> | $Typed<SystemMessageDataDisableJoinLink> | {
        $type: string;
    };
}
export declare function isSystemMessageView<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageView">;
export declare function validateSystemMessageView<V>(v: V): ValidationResult<SystemMessageView & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user was added to the group convo. */
export interface SystemMessageDataAddMember {
    $type?: 'chat.bsky.convo.defs#systemMessageDataAddMember';
    member: SystemMessageReferredUser;
    role: ChatBskyActorDefs.MemberRole;
    addedBy: SystemMessageReferredUser;
}
export declare function isSystemMessageDataAddMember<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataAddMember">;
export declare function validateSystemMessageDataAddMember<V>(v: V): ValidationResult<SystemMessageDataAddMember & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user was removed from the group convo. */
export interface SystemMessageDataRemoveMember {
    $type?: 'chat.bsky.convo.defs#systemMessageDataRemoveMember';
    member: SystemMessageReferredUser;
    removedBy: SystemMessageReferredUser;
}
export declare function isSystemMessageDataRemoveMember<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataRemoveMember">;
export declare function validateSystemMessageDataRemoveMember<V>(v: V): ValidationResult<SystemMessageDataRemoveMember & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user joined the group convo via join link. */
export interface SystemMessageDataMemberJoin {
    $type?: 'chat.bsky.convo.defs#systemMessageDataMemberJoin';
    member: SystemMessageReferredUser;
    role: ChatBskyActorDefs.MemberRole;
    approvedBy?: SystemMessageReferredUser;
}
export declare function isSystemMessageDataMemberJoin<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataMemberJoin">;
export declare function validateSystemMessageDataMemberJoin<V>(v: V): ValidationResult<SystemMessageDataMemberJoin & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating a user voluntarily left the group convo. */
export interface SystemMessageDataMemberLeave {
    $type?: 'chat.bsky.convo.defs#systemMessageDataMemberLeave';
    member: SystemMessageReferredUser;
}
export declare function isSystemMessageDataMemberLeave<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataMemberLeave">;
export declare function validateSystemMessageDataMemberLeave<V>(v: V): ValidationResult<SystemMessageDataMemberLeave & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group convo was locked. */
export interface SystemMessageDataLockConvo {
    $type?: 'chat.bsky.convo.defs#systemMessageDataLockConvo';
    lockedBy: SystemMessageReferredUser;
}
export declare function isSystemMessageDataLockConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataLockConvo">;
export declare function validateSystemMessageDataLockConvo<V>(v: V): ValidationResult<SystemMessageDataLockConvo & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group convo was unlocked. */
export interface SystemMessageDataUnlockConvo {
    $type?: 'chat.bsky.convo.defs#systemMessageDataUnlockConvo';
    unlockedBy: SystemMessageReferredUser;
}
export declare function isSystemMessageDataUnlockConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataUnlockConvo">;
export declare function validateSystemMessageDataUnlockConvo<V>(v: V): ValidationResult<SystemMessageDataUnlockConvo & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group convo was locked permanently. */
export interface SystemMessageDataLockConvoPermanently {
    $type?: 'chat.bsky.convo.defs#systemMessageDataLockConvoPermanently';
    lockedBy: SystemMessageReferredUser;
}
export declare function isSystemMessageDataLockConvoPermanently<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataLockConvoPermanently">;
export declare function validateSystemMessageDataLockConvoPermanently<V>(v: V): ValidationResult<SystemMessageDataLockConvoPermanently & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group info was edited. */
export interface SystemMessageDataEditGroup {
    $type?: 'chat.bsky.convo.defs#systemMessageDataEditGroup';
    /** Group name that was replaced. */
    oldName?: string;
    /** Group name that replaced the old. */
    newName?: string;
}
export declare function isSystemMessageDataEditGroup<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataEditGroup">;
export declare function validateSystemMessageDataEditGroup<V>(v: V): ValidationResult<SystemMessageDataEditGroup & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was created. */
export interface SystemMessageDataCreateJoinLink {
    $type?: 'chat.bsky.convo.defs#systemMessageDataCreateJoinLink';
}
export declare function isSystemMessageDataCreateJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataCreateJoinLink">;
export declare function validateSystemMessageDataCreateJoinLink<V>(v: V): ValidationResult<SystemMessageDataCreateJoinLink & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was edited. */
export interface SystemMessageDataEditJoinLink {
    $type?: 'chat.bsky.convo.defs#systemMessageDataEditJoinLink';
}
export declare function isSystemMessageDataEditJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataEditJoinLink">;
export declare function validateSystemMessageDataEditJoinLink<V>(v: V): ValidationResult<SystemMessageDataEditJoinLink & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was enabled. */
export interface SystemMessageDataEnableJoinLink {
    $type?: 'chat.bsky.convo.defs#systemMessageDataEnableJoinLink';
}
export declare function isSystemMessageDataEnableJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataEnableJoinLink">;
export declare function validateSystemMessageDataEnableJoinLink<V>(v: V): ValidationResult<SystemMessageDataEnableJoinLink & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. System message indicating the group join link was disabled. */
export interface SystemMessageDataDisableJoinLink {
    $type?: 'chat.bsky.convo.defs#systemMessageDataDisableJoinLink';
}
export declare function isSystemMessageDataDisableJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "systemMessageDataDisableJoinLink">;
export declare function validateSystemMessageDataDisableJoinLink<V>(v: V): ValidationResult<SystemMessageDataDisableJoinLink & V>;
export interface DeletedMessageView {
    $type?: 'chat.bsky.convo.defs#deletedMessageView';
    id: string;
    rev: string;
    sender: MessageViewSender;
    sentAt: string;
}
export declare function isDeletedMessageView<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "deletedMessageView">;
export declare function validateDeletedMessageView<V>(v: V): ValidationResult<DeletedMessageView & V>;
export interface MessageViewSender {
    $type?: 'chat.bsky.convo.defs#messageViewSender';
    did: string;
}
export declare function isMessageViewSender<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "messageViewSender">;
export declare function validateMessageViewSender<V>(v: V): ValidationResult<MessageViewSender & V>;
export interface ReactionView {
    $type?: 'chat.bsky.convo.defs#reactionView';
    value: string;
    sender: ReactionViewSender;
    createdAt: string;
}
export declare function isReactionView<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "reactionView">;
export declare function validateReactionView<V>(v: V): ValidationResult<ReactionView & V>;
export interface ReactionViewSender {
    $type?: 'chat.bsky.convo.defs#reactionViewSender';
    did: string;
}
export declare function isReactionViewSender<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "reactionViewSender">;
export declare function validateReactionViewSender<V>(v: V): ValidationResult<ReactionViewSender & V>;
export interface MessageAndReactionView {
    $type?: 'chat.bsky.convo.defs#messageAndReactionView';
    message: MessageView;
    reaction: ReactionView;
}
export declare function isMessageAndReactionView<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "messageAndReactionView">;
export declare function validateMessageAndReactionView<V>(v: V): ValidationResult<MessageAndReactionView & V>;
export interface ConvoView {
    $type?: 'chat.bsky.convo.defs#convoView';
    id: string;
    rev: string;
    /** Members of this conversation. For direct convos, it will be an immutable list of the 2 members. For group convos, it will a list of important members (the first few members, the viewer, the member who invited the viewer, the member who sent the last message, the member who sent the last reaction), but will not contain the full list of members. Use chat.bsky.convo.getConvoMembers to list all members. */
    members: ChatBskyActorDefs.ProfileViewBasic[];
    lastMessage?: $Typed<MessageView> | $Typed<DeletedMessageView> | $Typed<SystemMessageView> | {
        $type: string;
    };
    lastReaction?: $Typed<MessageAndReactionView> | {
        $type: string;
    };
    muted: boolean;
    status?: ConvoStatus;
    unreadCount: number;
    kind?: $Typed<DirectConvo> | $Typed<GroupConvo> | {
        $type: string;
    };
}
export declare function isConvoView<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "convoView">;
export declare function validateConvoView<V>(v: V): ValidationResult<ConvoView & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. */
export interface DirectConvo {
    $type?: 'chat.bsky.convo.defs#directConvo';
}
export declare function isDirectConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "directConvo">;
export declare function validateDirectConvo<V>(v: V): ValidationResult<DirectConvo & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. */
export interface GroupConvo {
    $type?: 'chat.bsky.convo.defs#groupConvo';
    /** The display name of the group conversation. */
    name: string;
    /** The total number of members in the group conversation. */
    memberCount: number;
    createdAt: string;
    joinLink?: ChatBskyGroupDefs.JoinLinkView;
    lockStatus: ConvoLockStatus;
}
export declare function isGroupConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "groupConvo">;
export declare function validateGroupConvo<V>(v: V): ValidationResult<GroupConvo & V>;
/** Event indicating a convo containing the viewer was started. Can be direct or group. When a member is added to a group convo, they also get this event. */
export interface LogBeginConvo {
    $type?: 'chat.bsky.convo.defs#logBeginConvo';
    rev: string;
    convoId: string;
}
export declare function isLogBeginConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logBeginConvo">;
export declare function validateLogBeginConvo<V>(v: V): ValidationResult<LogBeginConvo & V>;
/** Event indicating the viewer accepted a convo, and it can be moved out of the request inbox. Can be direct or group. */
export interface LogAcceptConvo {
    $type?: 'chat.bsky.convo.defs#logAcceptConvo';
    rev: string;
    convoId: string;
}
export declare function isLogAcceptConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logAcceptConvo">;
export declare function validateLogAcceptConvo<V>(v: V): ValidationResult<LogAcceptConvo & V>;
/** Event indicating the viewer left a convo. Can be direct or group. */
export interface LogLeaveConvo {
    $type?: 'chat.bsky.convo.defs#logLeaveConvo';
    rev: string;
    convoId: string;
}
export declare function isLogLeaveConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logLeaveConvo">;
export declare function validateLogLeaveConvo<V>(v: V): ValidationResult<LogLeaveConvo & V>;
/** Event indicating the viewer muted a convo. Can be direct or group. */
export interface LogMuteConvo {
    $type?: 'chat.bsky.convo.defs#logMuteConvo';
    rev: string;
    convoId: string;
}
export declare function isLogMuteConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logMuteConvo">;
export declare function validateLogMuteConvo<V>(v: V): ValidationResult<LogMuteConvo & V>;
/** Event indicating the viewer unmuted a convo. Can be direct or group. */
export interface LogUnmuteConvo {
    $type?: 'chat.bsky.convo.defs#logUnmuteConvo';
    rev: string;
    convoId: string;
}
export declare function isLogUnmuteConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logUnmuteConvo">;
export declare function validateLogUnmuteConvo<V>(v: V): ValidationResult<LogUnmuteConvo & V>;
/** Event indicating a user-originated message was created. Is not emitted for system messages. */
export interface LogCreateMessage {
    $type?: 'chat.bsky.convo.defs#logCreateMessage';
    rev: string;
    convoId: string;
    message: $Typed<MessageView> | $Typed<DeletedMessageView> | {
        $type: string;
    };
    /** Profiles referred to in the message view. This isn't required for compatibility, because it was added later, but should generally be present. */
    relatedProfiles?: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogCreateMessage<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logCreateMessage">;
export declare function validateLogCreateMessage<V>(v: V): ValidationResult<LogCreateMessage & V>;
/** Event indicating a user-originated message was deleted. Is not emitted for system messages. */
export interface LogDeleteMessage {
    $type?: 'chat.bsky.convo.defs#logDeleteMessage';
    rev: string;
    convoId: string;
    message: $Typed<MessageView> | $Typed<DeletedMessageView> | {
        $type: string;
    };
}
export declare function isLogDeleteMessage<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logDeleteMessage">;
export declare function validateLogDeleteMessage<V>(v: V): ValidationResult<LogDeleteMessage & V>;
/** DEPRECATED: use logReadConvo instead. Event indicating a convo was read up to a certain message. */
export interface LogReadMessage {
    $type?: 'chat.bsky.convo.defs#logReadMessage';
    rev: string;
    convoId: string;
    message: $Typed<MessageView> | $Typed<DeletedMessageView> | $Typed<SystemMessageView> | {
        $type: string;
    };
}
export declare function isLogReadMessage<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logReadMessage">;
export declare function validateLogReadMessage<V>(v: V): ValidationResult<LogReadMessage & V>;
/** Event indicating a reaction was added to a message. */
export interface LogAddReaction {
    $type?: 'chat.bsky.convo.defs#logAddReaction';
    rev: string;
    convoId: string;
    message: $Typed<MessageView> | $Typed<DeletedMessageView> | {
        $type: string;
    };
    reaction: ReactionView;
    /** Profiles referred in the message and reaction views. This isn't required for compatibility, because it was added later, but should generally be present. */
    relatedProfiles?: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogAddReaction<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logAddReaction">;
export declare function validateLogAddReaction<V>(v: V): ValidationResult<LogAddReaction & V>;
/** Event indicating a reaction was removed from a message. */
export interface LogRemoveReaction {
    $type?: 'chat.bsky.convo.defs#logRemoveReaction';
    rev: string;
    convoId: string;
    message: $Typed<MessageView> | $Typed<DeletedMessageView> | {
        $type: string;
    };
    reaction: ReactionView;
    /** Profiles referred in the message and reaction views. This isn't required for compatibility, because it was added later, but should generally be present. */
    relatedProfiles?: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogRemoveReaction<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logRemoveReaction">;
export declare function validateLogRemoveReaction<V>(v: V): ValidationResult<LogRemoveReaction & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a convo was read up to a certain message. */
export interface LogReadConvo {
    $type?: 'chat.bsky.convo.defs#logReadConvo';
    rev: string;
    convoId: string;
    message: $Typed<MessageView> | $Typed<DeletedMessageView> | $Typed<SystemMessageView> | {
        $type: string;
    };
}
export declare function isLogReadConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logReadConvo">;
export declare function validateLogReadConvo<V>(v: V): ValidationResult<LogReadConvo & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member was added to a group convo. The member who was added gets a logBeginConvo (to create the convo) but also a logAddMember (to show the system message as the first message the user sees). */
export interface LogAddMember {
    $type?: 'chat.bsky.convo.defs#logAddMember';
    rev: string;
    convoId: string;
    message: SystemMessageView;
    /** Profiles referred in the system message. */
    relatedProfiles: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogAddMember<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logAddMember">;
export declare function validateLogAddMember<V>(v: V): ValidationResult<LogAddMember & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member was removed from a group convo. The member who was removed gets a logLeaveConvo (to leave the convo) but not a logRemoveMember (because they already left, so can't see the system message). */
export interface LogRemoveMember {
    $type?: 'chat.bsky.convo.defs#logRemoveMember';
    rev: string;
    convoId: string;
    message: SystemMessageView;
    /** Profiles referred in the system message. */
    relatedProfiles: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogRemoveMember<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logRemoveMember">;
export declare function validateLogRemoveMember<V>(v: V): ValidationResult<LogRemoveMember & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member joined a group convo via join link. The member who was added gets a logBeginConvo (to create the convo) but also a logMemberJoin (to show the system message as the first message the user sees). */
export interface LogMemberJoin {
    $type?: 'chat.bsky.convo.defs#logMemberJoin';
    rev: string;
    convoId: string;
    message: SystemMessageView;
    /** Profiles referred in the system message. */
    relatedProfiles: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogMemberJoin<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logMemberJoin">;
export declare function validateLogMemberJoin<V>(v: V): ValidationResult<LogMemberJoin & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a member voluntarily left a group convo. The member who was removed gets a logLeaveConvo (to leave the convo) but not a logMemberLeave (because they already left, so can't see the system message). */
export interface LogMemberLeave {
    $type?: 'chat.bsky.convo.defs#logMemberLeave';
    rev: string;
    convoId: string;
    message: SystemMessageView;
    /** Profiles referred in the system message. */
    relatedProfiles: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogMemberLeave<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logMemberLeave">;
export declare function validateLogMemberLeave<V>(v: V): ValidationResult<LogMemberLeave & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a group convo was locked. */
export interface LogLockConvo {
    $type?: 'chat.bsky.convo.defs#logLockConvo';
    rev: string;
    convoId: string;
    message: SystemMessageView;
    /** Profiles referred in the system message. */
    relatedProfiles: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogLockConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logLockConvo">;
export declare function validateLogLockConvo<V>(v: V): ValidationResult<LogLockConvo & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a group convo was unlocked. */
export interface LogUnlockConvo {
    $type?: 'chat.bsky.convo.defs#logUnlockConvo';
    rev: string;
    convoId: string;
    message: SystemMessageView;
    /** Profiles referred in the system message. */
    relatedProfiles: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogUnlockConvo<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logUnlockConvo">;
export declare function validateLogUnlockConvo<V>(v: V): ValidationResult<LogUnlockConvo & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a group convo was locked permanently. */
export interface LogLockConvoPermanently {
    $type?: 'chat.bsky.convo.defs#logLockConvoPermanently';
    rev: string;
    convoId: string;
    message: SystemMessageView;
    /** Profiles referred in the system message. */
    relatedProfiles: ChatBskyActorDefs.ProfileViewBasic[];
}
export declare function isLogLockConvoPermanently<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logLockConvoPermanently">;
export declare function validateLogLockConvoPermanently<V>(v: V): ValidationResult<LogLockConvoPermanently & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating info about group convo was edited. */
export interface LogEditGroup {
    $type?: 'chat.bsky.convo.defs#logEditGroup';
    rev: string;
    convoId: string;
    message: SystemMessageView;
}
export declare function isLogEditGroup<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logEditGroup">;
export declare function validateLogEditGroup<V>(v: V): ValidationResult<LogEditGroup & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join link was created for a group convo. */
export interface LogCreateJoinLink {
    $type?: 'chat.bsky.convo.defs#logCreateJoinLink';
    rev: string;
    convoId: string;
    message: SystemMessageView;
}
export declare function isLogCreateJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logCreateJoinLink">;
export declare function validateLogCreateJoinLink<V>(v: V): ValidationResult<LogCreateJoinLink & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a settings about a join link for a group convo were edited. */
export interface LogEditJoinLink {
    $type?: 'chat.bsky.convo.defs#logEditJoinLink';
    rev: string;
    convoId: string;
    message: SystemMessageView;
}
export declare function isLogEditJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logEditJoinLink">;
export declare function validateLogEditJoinLink<V>(v: V): ValidationResult<LogEditJoinLink & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join link was enabled for a group convo. */
export interface LogEnableJoinLink {
    $type?: 'chat.bsky.convo.defs#logEnableJoinLink';
    rev: string;
    convoId: string;
    message: SystemMessageView;
}
export declare function isLogEnableJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logEnableJoinLink">;
export declare function validateLogEnableJoinLink<V>(v: V): ValidationResult<LogEnableJoinLink & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join link was disabled for a group convo. */
export interface LogDisableJoinLink {
    $type?: 'chat.bsky.convo.defs#logDisableJoinLink';
    rev: string;
    convoId: string;
    message: SystemMessageView;
}
export declare function isLogDisableJoinLink<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logDisableJoinLink">;
export declare function validateLogDisableJoinLink<V>(v: V): ValidationResult<LogDisableJoinLink & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was made to a group the viewer owns. Only the owner gets this. */
export interface LogIncomingJoinRequest {
    $type?: 'chat.bsky.convo.defs#logIncomingJoinRequest';
    rev: string;
    convoId: string;
    member: ChatBskyActorDefs.ProfileViewBasic;
}
export declare function isLogIncomingJoinRequest<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logIncomingJoinRequest">;
export declare function validateLogIncomingJoinRequest<V>(v: V): ValidationResult<LogIncomingJoinRequest & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was approved by the viewer. Only the owner gets this. The approved member gets a logBeginConvo. */
export interface LogApproveJoinRequest {
    $type?: 'chat.bsky.convo.defs#logApproveJoinRequest';
    rev: string;
    convoId: string;
    member: ChatBskyActorDefs.ProfileViewBasic;
}
export declare function isLogApproveJoinRequest<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logApproveJoinRequest">;
export declare function validateLogApproveJoinRequest<V>(v: V): ValidationResult<LogApproveJoinRequest & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was rejected by the viewer. Only the owner gets this. */
export interface LogRejectJoinRequest {
    $type?: 'chat.bsky.convo.defs#logRejectJoinRequest';
    rev: string;
    convoId: string;
    member: ChatBskyActorDefs.ProfileViewBasic;
}
export declare function isLogRejectJoinRequest<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logRejectJoinRequest">;
export declare function validateLogRejectJoinRequest<V>(v: V): ValidationResult<LogRejectJoinRequest & V>;
/** [NOTE: This is under active development and should be considered unstable while this note is here]. Event indicating a join request was made by the viewer. */
export interface LogOutgoingJoinRequest {
    $type?: 'chat.bsky.convo.defs#logOutgoingJoinRequest';
    rev: string;
    convoId: string;
}
export declare function isLogOutgoingJoinRequest<V>(v: V): v is import("../../../../util").$TypedObject<V, "chat.bsky.convo.defs", "logOutgoingJoinRequest">;
export declare function validateLogOutgoingJoinRequest<V>(v: V): ValidationResult<LogOutgoingJoinRequest & V>;
//# sourceMappingURL=defs.d.ts.map