import { Api, TelegramClient } from 'telegram'; import { BotRepostSettings, PublishChat, ReposterSettings, TResultError, TgAdsSettings, TgPublisher, WatcherChat } from 'dprx-types'; import { EntityLike, MarkupLike } from 'telegram/define'; import { NewMessageEvent } from 'telegram/events'; import bigInt from 'big-integer'; export declare class ReposterBot { protected static duplicatedMessages: Map; protected client?: TelegramClient; protected settings?: BotRepostSettings; build({ botRepostSettings }: ReposterSettings): Promise<{ error: string; result?: undefined; } | { result: { session: string; client: TelegramClient; bot: Api.User; }; error?: undefined; }>; protected findPublisher({ entity }: { entity: any; }): Promise<{ result: TgPublisher | undefined; }>; protected findPublishersByWatcher({ entity, replyTo }: { entity: any; replyTo?: number; }): Promise<{ result: TgPublisher[] | undefined; }>; protected onRepost({ update }: { update: NewMessageEvent; }): Promise; protected autoPublishChats({ publishChats, message }: { publishChats: PublishChat[]; message: Api.Message; }): Promise; protected moderatePublishChats({ publisher, publishChat, message, watchers, ads, }: { publisher: TgPublisher; publishChat: PublishChat; message: Api.Message; watchers: WatcherChat[]; ads?: TgAdsSettings; }): Promise; protected handlerCallback({ update }: { update: any; }): Promise; protected handlerAutoPublish({ publishAutoChat, message, }: { publishAutoChat: PublishChat; message: Api.Message; }): Promise<{ error: string; } | undefined>; protected handlerPublish({ update }: { update: Api.UpdateBotCallbackQuery; }): Promise; protected handlerDelete({ update }: { update: Api.UpdateBotCallbackQuery; }): Promise; protected handlerRewrite({ update }: { update: Api.UpdateBotCallbackQuery; }): Promise; protected startActions({ sendedMessages }: { sendedMessages: Api.Message[]; }): Promise<{ error: string; } | undefined>; protected sendMessage({ message, watchers, markup, ads, }: { message: Api.Message; watchers: WatcherChat[]; markup?: MarkupLike; ads?: TgAdsSettings; }): Promise<{ error: any; result?: undefined; } | { result: Api.Message[]; error?: undefined; }>; protected getHtml({ text }: { text: string; }): TResultError; protected answerCallback({ queryId, message, alert, }: { queryId: bigInt.BigInteger; message: string; alert?: boolean; }): Promise; protected addAds({ text, ads }: { text: string; ads: TgAdsSettings; }): string; protected isAdmin({ chat, userId }: { chat: EntityLike; userId: number | bigInt.BigNumber; }): Promise<{ result: boolean; }>; protected hasAccess({ update }: { update: Api.UpdateBotCallbackQuery; }): Promise<{ result: boolean; }>; }