import { DyFM_Msg_Provider_Type } from '@futdevpro/fsm-dynamo/messaging'; import { DyNTS_SingletonService } from '../../../_services/base/singleton.service'; import { DyNTS_Bot_MessagingProvider_ServiceBase } from './bot-messaging-provider.service-base'; import { DyNTS_Bot_IO_ControlService } from './bot-io.control-service'; import { DyNTS_Bot_Routines_ControlService } from './bot-routines.control-service'; import { DyNTS_Bot_Commands_ControlService } from './bot-commands.control-service'; /** * This is the main control service for the Bot. * * Platform-agnostic bot service that works with any provider (Discord, Slack, Teams, etc.) * * Setup: * 1. Configure provider in DyNTS_global_settings.bot_settings * 2. Set provider type and credentials * 3. Initialize the bot with setup() */ export declare abstract class DyNTS_Bot_Main_ControlService extends DyNTS_SingletonService { protected _providers: Map>; protected _defaultProvider: DyNTS_Bot_MessagingProvider_ServiceBase; get defaultProvider(): DyNTS_Bot_MessagingProvider_ServiceBase; botIO_CS: DyNTS_Bot_IO_ControlService; protected abstract getBotIOControlService(): DyNTS_Bot_IO_ControlService; routines_CS: DyNTS_Bot_Routines_ControlService; protected abstract getRoutinesControlService(): DyNTS_Bot_Routines_ControlService; commands_CS: DyNTS_Bot_Commands_ControlService; protected abstract getCommandsControlService(): DyNTS_Bot_Commands_ControlService; protected abstract defaultProviderType: T_MessagingPlatformProvider_Type; protected abstract availableProviders: DyNTS_Bot_MessagingProvider_ServiceBase[]; protected debugLog: boolean; setup(issuer: string): Promise; start(issuer: string): Promise; setupProvider(provider: DyNTS_Bot_MessagingProvider_ServiceBase, issuer: string): Promise; getProviderByType>(type: T_MessagingPlatformProvider_Type): T_MessagingPlatformProvider; sendReport(message: string): Promise; } //# sourceMappingURL=bot-main.control-service.d.ts.map