import type { CreateSessionReq, CreateSessionResp, SessionState } from '@teachagenthub/contracts';
import { ClearSessionHistoryRespDto, MessageFeedbackReqDto, MessageFeedbackRespDto, RegenerateMessageRespDto, SessionHistoryPageRespDto, SessionHistoryQueryDto } from '../dto';
import { CommandsService } from '../../commands/service/commands.service';
import { GatewayStateService } from '../../state/service/gateway-state.service';
export declare class SessionController {
    private readonly state;
    private readonly commands;
    constructor(state: GatewayStateService, commands: CommandsService);
    private mapRecordRole;
    create(body: CreateSessionReq): CreateSessionResp;
    list(): {
        sessions: SessionState[];
    };
    get(sessionId: string): SessionState;
    recover(sessionId: string, body: CreateSessionReq): {
        session: SessionState;
    };
    historyPage(sessionId: string, query: SessionHistoryQueryDto): Promise<SessionHistoryPageRespDto>;
    clearHistory(sessionId: string): Promise<ClearSessionHistoryRespDto>;
    submitMessageFeedback(sessionId: string, messageIdParam: string, body: MessageFeedbackReqDto): Promise<MessageFeedbackRespDto>;
    regenerateMessage(sessionId: string, messageIdParam: string, authorization?: string, tenantId?: string, userId?: string, userRole?: string): Promise<RegenerateMessageRespDto>;
}
