/**
* 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 AvailableReactions, type ChatP, type SlowModeDuration } from "../3_types.js";
import { type FileSource, type ID, type Update } from "../3_types.js";
import type { AddChatMemberParams, ApproveJoinRequestsParams, BanChatMemberParams, CreateInviteLinkParams, DeclineJoinRequestsParams, EnableSignaturesParams, GetCreatedInviteLinksParams, GetJoinRequestsParams, PromoteChatMemberParams, SetChatMemberRightsParams, SetChatMemberTagParams, SetChatPhotoParams } from "./0_params.js";
import type { UpdateProcessor } from "./0_update_processor.js";
import type { C as C_ } from "./1_types.js";
import type { FileManager } from "./2_file_manager.js";
import type { MessageManager } from "./3_message_manager.js";
interface C extends C_ {
fileManager: FileManager;
messageManager: MessageManager;
}
declare const chatManagerUpdates: readonly ["updateChannelParticipant", "updateChatParticipant", "updateBotChatInviteRequester"];
type ChatManagerUpdate = Api.Types[(typeof chatManagerUpdates)[number]];
export declare class ChatManager implements UpdateProcessor {
#private;
constructor(c: C);
canHandleUpdate(update: Api.Update): update is ChatManagerUpdate;
handleUpdate(update: ChatManagerUpdate): Promise;
approveJoinRequest(chatId: ID, userId: ID): Promise;
declineJoinRequest(chatId: ID, userId: ID): Promise;
approveJoinRequests(chatId: ID, params?: ApproveJoinRequestsParams): Promise;
declineJoinRequests(chatId: ID, params?: DeclineJoinRequestsParams): Promise;
getJoinRequests(chatId: ID, params?: GetJoinRequestsParams): Promise;
createInviteLink(chatId: ID, params?: CreateInviteLinkParams): Promise;
getCreatedInviteLinks(chatId: ID, params?: GetCreatedInviteLinksParams): Promise;
joinChat(chatId: ID): Promise;
leaveChat(chatId: ID): Promise;
banChatMember(chatId: ID, memberId: ID, params?: BanChatMemberParams): Promise;
unbanChatMember(chatId: ID, memberId: ID): Promise;
setChatMemberRights(chatId: ID, memberId: ID, params?: SetChatMemberRightsParams): Promise;
promoteChatMember(chatId: ID, userId: ID, params?: PromoteChatMemberParams): Promise;
setChatMemberTag(chatId: ID, userId: ID, params?: SetChatMemberTagParams): Promise;
setAvailableReactions(chatId: ID, availableReactions: AvailableReactions): Promise;
setBoostsRequiredToCircumventRestrictions(chatId: ID, boosts: number): Promise;
enableJoinRequests(chatId: ID): Promise;
disableJoinRequests(chatId: ID): Promise;
setChatStickerSet(chatId: ID, setName: string): Promise;
deleteChatStickerSet(chatId: ID): Promise;
disableSlowMode(chatId: ID): Promise;
setSlowMode(chatId: ID, duration: SlowModeDuration): Promise;
setChatTitle(chatId: ID, title: string): Promise;
setChatDescription(chatId: ID, description: string): Promise;
hideMemberList(chatId: ID): Promise;
showMemberList(chatId: ID): Promise;
disableTopics(chatId: ID): Promise;
enableTopics(chatId: ID, isShownAsTabs: boolean): Promise;
enableAntispam(chatId: ID): Promise;
disableAntispam(chatId: ID): Promise;
enableSignatures(chatId: ID, params?: EnableSignaturesParams): Promise;
disableSignatures(chatId: ID): Promise;
deleteChat(chatId: ID): Promise;
getDiscussionChatSuggestions(): Promise;
setDiscussionChat(chatId: ID, discussionChatId: ID): Promise;
transferChatOwnership(chatId: ID, userId: ID, password: string): Promise;
enableSharing(chatId: ID): Promise;
disableSharing(chatId: ID): Promise;
deleteChatPhoto(chatId: ID): Promise;
setChatPhoto(chatId: ID, photo: FileSource, params?: SetChatPhotoParams): Promise;
addChatMember(chatId: ID, userId: ID, params?: AddChatMemberParams): Promise;
addChatMembers(chatId: ID, userIds: ID[]): Promise;
getRecommendedChannels(): Promise;
getSimilarChannels(chatId: ID): Promise;
getSimilarBots(chatId: ID): Promise;
getOnlineCount(chatId: ID): Promise;
enableChatHistoryForNewMembers(chatId: ID): Promise;
disableChatHistoryForNewMembers(chatId: ID): Promise;
setDefaultSendAs(chatId: ID, sendAs: ID): Promise;
}
export {};
//# sourceMappingURL=4_chat_manager.d.ts.map