import type { CreateSlackManagerCredentialResponse, InstallSlackManagedAppResponse, SlackManagedAppSettings, SlackManagedSetupState } from '@n8n/api-types'; import type { User } from '@n8n/db'; import { Cipher } from 'n8n-core'; import { CredentialsFinderService } from '../../../../../credentials/credentials-finder.service'; import { CredentialsService } from '../../../../../credentials/credentials.service'; import { CredentialsOverwrites } from '../../../../../credentials-overwrites'; import { CacheService } from '../../../../../services/cache/cache.service'; import { SlackMethodsService } from './slack-methods.service'; import { AgentRepository } from '../../../repositories/agent.repository'; export interface GetManagedSetupStateOptions { projectId: string; agentId: string; user: User; } export interface InstallManagedSlackAppOptions extends GetManagedSetupStateOptions { managerCredentialId: string; workspaceId: string; } export interface FinalizeSlackManagerCredentialOptions extends GetManagedSetupStateOptions { credentialId: string; } export interface GetManagedSlackAppSettingsOptions extends GetManagedSetupStateOptions { credentialId: string; } export interface UpdateManagedSlackAppSettingsOptions extends GetManagedSlackAppSettingsOptions { name: string; description: string; alwaysOnline: boolean; } export interface DeleteManagedSlackAppOptions { projectId: string; agentId: string; credentialId: string; user: User; deleteExternalResource?: boolean; } export interface ManagedSlackAppDeletionWarning { integrationType: 'slack'; code: 'app_not_deleted'; action: { type: 'open_url'; url: string; }; details: { appId: string; }; } export declare class SlackManagedSetupService { private readonly methods; private readonly cacheService; private readonly cipher; private readonly credentialsService; private readonly credentialsFinderService; private readonly credentialsOverwrites; private readonly agentRepository; constructor(methods: SlackMethodsService, cacheService: CacheService, cipher: Cipher, credentialsService: CredentialsService, credentialsFinderService: CredentialsFinderService, credentialsOverwrites: CredentialsOverwrites, agentRepository: AgentRepository); isSetupAvailable(): boolean; getSetupState(options: GetManagedSetupStateOptions): Promise; createManagerCredential(options: GetManagedSetupStateOptions): Promise; finalizeManagerCredential(options: FinalizeSlackManagerCredentialOptions): Promise; installApp(options: InstallManagedSlackAppOptions): Promise; getAppSettings(options: GetManagedSlackAppSettingsOptions): Promise; updateAppSettings(options: UpdateManagedSlackAppSettingsOptions): Promise; deleteAppForCredential(options: DeleteManagedSlackAppOptions): Promise; private assertSetupAvailable; private getManagedBotCredentialContext; private exportManagedAppManifest; private managedAppSettingsFromManifest; private getManagerCredentialContext; private usesManagedSlackAuth; private getWorkspacesFromContext; private findManagedBotCredential; private getOrCreateManagedAppSession; private decryptManagedAppSession; private callManagerSlackApi; private setManagedAppIcon; }