import { ConfigService } from '@nestjs/config';
import { Repository } from 'typeorm';
import { User } from '../../entities/user.entity';
import { PlatformSettings } from '../../entities/platform-settings.entity';
import { SlackService } from './slack.service';
export declare class SlackController {
    private configService;
    private slackService;
    private userRepo;
    private settingsRepo;
    private readonly slackClientId;
    private readonly slackClientSecret;
    private readonly slackRedirectUri;
    constructor(configService: ConfigService, slackService: SlackService, userRepo: Repository<User>, settingsRepo: Repository<PlatformSettings>);
    getConnectUrl(user: User): Promise<{
        authUrl: string;
        redirectUri: string;
    }>;
    handleCallback(user: User, code: string, state: string): Promise<{
        success: boolean;
        channelName: any;
        workspaceName: any;
    }>;
    disconnect(user: User): Promise<{
        success: boolean;
        message: string;
    }>;
    getStatus(user: User): Promise<{
        enabled: boolean;
        connected: boolean;
        channelId: string | null;
        workspaceId: string | null;
    }>;
    sendTest(user: User): Promise<{
        success: boolean;
        message: string;
    }>;
}
