import type { ConversationLogMessage, RunAnswer } from "../../types.js"; import type { MessagingBot, MessagingEventHandler, MessagingInfo, ConversationEvent } from "../../types.js"; import { GithubOps } from "./github-ops.js"; import type { GithubConversationRef } from "../../office/types.js"; import type { GithubAgentIdentity, GithubApi, GithubBotConfig, GithubCapability, GithubWebhookDelivery } from "./types.js"; export declare const formatGithubContinuation: (partNum: number) => string; export declare class GithubMessagingBot implements MessagingBot { private readonly client; private readonly handler; private readonly config; readonly ops: GithubOps; private identity; private queues; private permissionCache; private bodyTriggers; private stopped; constructor(handler: MessagingEventHandler, config: GithubBotConfig, client?: GithubApi); get capabilities(): ReadonlySet; get agentIdentity(): GithubAgentIdentity | undefined; start(): Promise; stop(): Promise; postMessage(channel: string, text: string): Promise; updateMessage(channel: string, ts: string, text: string): Promise; addReaction(channel: string, messageTs: string, emoji: string): Promise; enqueueEvent(event: ConversationEvent): boolean; getMessagingInfo(): MessagingInfo; postComment(ref: GithubConversationRef, text: string): Promise; deleteComment(ref: GithubConversationRef, commentId: number): Promise; logToFile(conversationId: string, entry: ConversationLogMessage): void; logBotResponse(conversationId: string, text: string, ts: string, threadTs?: string, { answer }?: { answer?: RunAnswer; }): void; private getQueue; receive(delivery: GithubWebhookDelivery): Promise; private isAgent; private triggerOf; private claimBodyTrigger; private handleActivity; private mentionPattern; private isMentioned; private stripMention; private office; private isParticipating; private hasTriggerPermission; private handleIncoming; private formatReviewMessage; private reviewThreadContext; private logIssueContext; } //# sourceMappingURL=bot.d.ts.map