/**
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
* Copyright (C) 2023-2026 Roj
*
* This file is part of MTKruto.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
import { Api } from "../2_tl.js";
import { type ChatMemberRights } from "./0_chat_member_rights.js";
import { type AvailableReactions } from "./1_available_reactions.js";
import { type ChannelLocation } from "./1_channel_location.js";
import type { PeerGetter } from "./1_chat_p.js";
import { type Photo } from "./1_photo.js";
import type { StickerSetNameGetter } from "./1_sticker.js";
import { type ChatMember } from "./2_chat_member.js";
import { type InviteLink } from "./3_invite_link.js";
import { type CommunityGetter, type Message, type MessageGetter } from "./9_message.js";
import { type Topic } from "./A_topic.js";
/** @unlisted */
export interface RecentActionChangeTitle {
type: "changeTitle";
previous: string;
new: string;
}
/** @unlisted */
export interface RecentActionChangeDescription {
type: "changeDescription";
previous: string;
new: string;
}
/** @unlisted */
export interface RecentActionChangeUsername {
type: "changeUsername";
previous: string;
new: string;
}
/** @unlisted */
export interface RecentActionChangePhoto {
type: "changePhoto";
previous: Photo;
new: Photo;
}
/** @unlisted */
export interface RecentActionToggleInvites {
type: "toggleInvites";
isEnabled: boolean;
}
/** @unlisted */
export interface RecentActionToggleSignatures {
type: "toggleSignatures";
isEnabled: boolean;
}
/** @unlisted */
export interface RecentActionPinMessage {
type: "pinMessage";
message: Message;
}
/** @unlisted */
export interface RecentActionEditMessage {
type: "editMessage";
previous: Message;
new: Message;
}
/** @unlisted */
export interface RecentActionDeleteMessage {
type: "deleteMessage";
message: Message;
}
/** @unlisted */
export interface RecentActionJoin {
type: "join";
}
/** @unlisted */
export interface RecentActionLeave {
type: "leave";
}
/** @unlisted */
export interface RecentActionInvite {
type: "invite";
chatMember: ChatMember;
}
/** @unlisted */
export interface RecentActionToggleRestriction {
type: "toggleRestriction";
previous: ChatMember;
new: ChatMember;
}
/** @unlisted */
export interface RecentActionTogglePromotion {
type: "togglePromotion";
previous: ChatMember;
new: ChatMember;
}
/** @unlisted */
export interface RecentActionChangeStickerSet {
type: "changeStickerSet";
previous?: string;
new?: string;
}
/** @unlisted */
export interface RecentActionToggleChatHistoryForNewMembers {
type: "toggleChatHistoryForNewMembers";
isEnabled: boolean;
}
/** @unlisted */
export interface RecentActionSetDefaultPermissions {
type: "setDefaultPermissions";
previous: ChatMemberRights;
new: ChatMemberRights;
}
/** @unlisted */
export interface RecentActionStopPoll {
type: "stopPoll";
message: Message;
}
/** @unlisted */
export interface RecentActionChangeDiscussionChat {
type: "changeDiscussionChat";
previous: number;
new: number;
}
/** @unlisted */
export interface RecentActionChangeLocation {
type: "changeLocation";
previous?: ChannelLocation;
new?: ChannelLocation;
}
/** @unlisted */
export interface RecentActionChangeSetSlowMode {
type: "setSlowMode";
previous: number;
new: number;
}
/** @unlisted */
export interface RecentActionStartVideoChat {
type: "startVideoChat";
}
/** @unlisted */
export interface RecentActionEndVideoChat {
type: "endVideoChat";
}
/** @unlisted */
export interface RecentActionMuteVideoChatParticipant {
type: "muteVideoChatParticipant";
participant: number;
}
/** @unlisted */
export interface RecentActionUnmuteVideoChatParticipant {
type: "unmuteVideoChatParticipant";
participant: number;
}
/** @unlisted */
export interface RecentActionToggleVideoChatDefaultMuted {
type: "toggleVideoChatDefaultMuted";
defaultMuted: boolean;
}
/** @unlisted */
export interface RecentActionJoinByInvite {
type: "joinByInvite";
inviteLink?: InviteLink;
isViaList: boolean;
}
/** @unlisted */
export interface RecentActionDeleteInviteLink {
type: "deleteInviteLink";
inviteLink?: InviteLink;
}
/** @unlisted */
export interface RecentActionRevokeInviteLink {
type: "revokeInviteLink";
inviteLink?: InviteLink;
}
/** @unlisted */
export interface RecentActionEditInviteLink {
type: "editInviteLink";
previous?: InviteLink;
new?: InviteLink;
}
/** @unlisted */
export interface RecentActionSetVideoChatParticipantVolume {
type: "setVideoChatParticipantVolume";
participant: number;
}
/** @unlisted */
export interface RecentActionSetHistoryTtl {
type: "setHistoryTtl";
previous: number;
new: number;
}
/** @unlisted */
export interface RecentActionJoinByRequest {
type: "joinByRequest";
inviteLink?: InviteLink;
approvedBy: number;
}
/** @unlisted */
export interface RecentActionToggleContentProtection {
type: "toggleContentProtection";
isEnabled: boolean;
}
/** @unlisted */
export interface RecentActionSendMessage {
type: "sendMessage";
message: Message;
}
/** @unlisted */
export interface RecentActionSetAvailableReactions {
type: "setAvailableReactions";
previous: AvailableReactions;
new: AvailableReactions;
}
/** @unlisted */
export interface RecentActionSetUsernames {
type: "setUsernames";
previous: string[];
new: string[];
}
/** @unlisted */
export interface RecentActionToggleTopics {
type: "toggleTopics";
isEnabled: boolean;
}
/** @unlisted */
export interface RecentActionCreateTopic {
type: "createTopic";
topic: Topic;
}
/** @unlisted */
export interface RecentActionEditTopic {
type: "editTopic";
previous: Topic;
new: Topic;
}
/** @unlisted */
export interface RecentActionDeleteTopic {
type: "deleteTopic";
topic: Topic;
}
/** @unlisted */
export interface RecentActionPinTopic {
type: "pinTopic";
previous?: Topic;
new?: Topic;
}
/** @unlisted */
export interface RecentActionToggleAntispam {
type: "toggleAntispam";
isEnabled: boolean;
}
/** @unlisted */
export interface RecentActionSetEmojiStickerSet {
type: "setEmojiStickerSet";
previous?: string;
new?: string;
}
/** @unlisted */
export interface RecentActionToggleAutomaticTranslation {
type: "toggleAutomaticTranslation";
isEnabled: boolean;
}
/** @unlisted */
export interface RecentActionEditChatMemberTag {
type: "editChatMemberTag";
userId: number;
previous?: string;
new?: string;
}
/** @unlisted */
export interface RecentActionUnsupported {
type: "unsupported";
}
/** Any type of recent action. */
export type RecentAction = RecentActionChangeTitle | RecentActionChangeDescription | RecentActionChangeUsername | RecentActionChangePhoto | RecentActionToggleInvites | RecentActionToggleSignatures | RecentActionPinMessage | RecentActionEditMessage | RecentActionDeleteMessage | RecentActionJoin | RecentActionLeave | RecentActionInvite | RecentActionToggleRestriction | RecentActionTogglePromotion | RecentActionChangeStickerSet | RecentActionToggleChatHistoryForNewMembers | RecentActionSetDefaultPermissions | RecentActionStopPoll | RecentActionChangeDiscussionChat | RecentActionChangeLocation | RecentActionChangeSetSlowMode | RecentActionStartVideoChat | RecentActionEndVideoChat | RecentActionMuteVideoChatParticipant | RecentActionUnmuteVideoChatParticipant | RecentActionToggleVideoChatDefaultMuted | RecentActionJoinByInvite | RecentActionDeleteInviteLink | RecentActionRevokeInviteLink | RecentActionEditInviteLink | RecentActionSetVideoChatParticipantVolume | RecentActionSetHistoryTtl | RecentActionJoinByRequest | RecentActionToggleContentProtection | RecentActionSendMessage | RecentActionSetAvailableReactions | RecentActionSetUsernames | RecentActionToggleTopics | RecentActionCreateTopic | RecentActionEditTopic | RecentActionDeleteTopic | RecentActionPinTopic | RecentActionToggleAntispam | RecentActionSetEmojiStickerSet | RecentActionToggleAutomaticTranslation | RecentActionEditChatMemberTag | RecentActionUnsupported;
export declare function constructRecentAction(a: Api.ChannelAdminLogEventAction, getPeer: PeerGetter, getMessage: MessageGetter, getStickerSetName: StickerSetNameGetter, getCommunity: CommunityGetter): Promise;
//# sourceMappingURL=B_recent_action.d.ts.map