import type { CreateSlackAgentAppResponse, SlackAgentAppManifestResponse } from '@n8n/api-types';
import type { User } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import { Cipher } from 'n8n-core';
import { CacheService } from '../../../../../services/cache/cache.service';
import { SlackMethodsService } from './slack-methods.service';
interface CreateSlackAppOptions {
    projectId: string;
    agentId: string;
    appConfigurationToken: string;
    user: User;
}
interface GetSlackAppManifestOptions {
    projectId: string;
    agentId: string;
}
interface CompleteSlackAppInstallOptions {
    projectId: string;
    agentId: string;
    code: string;
    state: string;
}
export declare class SlackManualSetupService {
    private readonly methods;
    private readonly userRepository;
    private readonly cacheService;
    private readonly cipher;
    constructor(methods: SlackMethodsService, userRepository: UserRepository, cacheService: CacheService, cipher: Cipher);
    createApp(options: CreateSlackAppOptions): Promise<CreateSlackAgentAppResponse>;
    getManifest(options: GetSlackAppManifestOptions): Promise<SlackAgentAppManifestResponse>;
    completeInstall(options: CompleteSlackAppInstallOptions): Promise<void>;
    private consumeSession;
    private cacheKey;
}
export {};
