import { Response } from 'express';
import 'multer';
import { SessionsService } from './sessions.service';
import { CreateSessionDto, UpdateSessionDto, CreateSessionFromContextDto, ImportSessionResponseDto, RevertFileDto, RevertSessionResponseDto } from './dto/session.dto';
import { Session } from '../core-entities';
import { SessionTransferService } from '../session-transfer/session-transfer.service';
import { SessionFollowupService } from '../session-followup/session-followup.service';
export declare class SessionsController {
    private readonly sessionsService;
    private readonly sessionTransferService;
    private readonly sessionFollowupService;
    constructor(sessionsService: SessionsService, sessionTransferService: SessionTransferService, sessionFollowupService: SessionFollowupService);
    create(createSessionDto: CreateSessionDto): Promise<Session>;
    setActive(id: string): Promise<{
        success: boolean;
    }>;
    importSession(file: Express.Multer.File): Promise<ImportSessionResponseDto>;
    createFromContext(id: string, createDto: CreateSessionFromContextDto): Promise<Session>;
    findActive(res: Response): Promise<Response<any, Record<string, any>>>;
    findAll(filter?: string, limit?: string): Promise<Session[]>;
    findOne(id: string, includeLogs?: string): Promise<Session>;
    findChildSessions(id: string): Promise<Session[]>;
    getFileChanges(id: string): Promise<{
        file_path: string;
        initial_content: string | null;
        current_content: string | null;
    }[]>;
    exportSession(id: string, res: Response): Promise<void>;
    update(id: string, updateSessionDto: UpdateSessionDto): Promise<Session>;
    remove(id: string): Promise<void>;
    clone(id: string): Promise<Session>;
    revertFile(id: string, revertFileDto: RevertFileDto): Promise<{
        success: boolean;
        file_path: string;
    }>;
    revertSession(id: string): Promise<RevertSessionResponseDto>;
    getInputFileChanges(id: string, inputIds: string): Promise<{
        file_path: string;
        initial_content: string | null;
        current_content: string | null;
    }[]>;
    revertInputFileChanges(id: string, inputIds: string[]): Promise<RevertSessionResponseDto>;
}
