import { BuddyConversationService } from '../../../modules/buddy/services/buddy-conversation.service'; import { BuddySuggestion, SuggestionEngineService } from '../../../modules/buddy/services/suggestion-engine.service'; import { ConfigService } from '../../../modules/config/services/config.service'; import { ConfigChangeResult, IManagedPluginService, ServiceState } from '../../../modules/extensions/services/managed-plugin-service.interface'; import { BuddyDiscordConfigModel } from '../models/config.model'; export declare class DiscordBotProvider implements IManagedPluginService { private readonly configService; private readonly conversationService; private readonly suggestionEngine; private readonly logger; readonly pluginName = "buddy-discord-plugin"; readonly serviceId = "bot"; private client; private state; private activeConfig; private readonly channelConversations; constructor(configService: ConfigService, conversationService: BuddyConversationService, suggestionEngine: SuggestionEngineService); start(): Promise; stop(): Promise; getState(): ServiceState; onConfigChanged(): Promise; onSuggestionCreated(suggestion: BuddySuggestion): Promise; isRunning(): boolean; private startBot; private stopBot; private handleInteraction; private handleMessage; private getOrCreateConversation; parseSpaceChannelMappings(raw?: string | null): Record; getSpaceForChannel(config: BuddyDiscordConfigModel, channelId: string): string | null; getChannelForSpace(config: BuddyDiscordConfigModel, spaceId: string): string | null; getAllowedChannelIds(config: BuddyDiscordConfigModel): Set; splitMessage(text: string): string[]; private sendWithRetry; private sleep; private getPluginConfig; }