import { BaseHandler } from './base.handler';
import { SessionServiceConfig, SessionListOptions, SessionDisplayItem, SessionGetOptions } from '../types/session';
import { AuthConfig } from '../types/auth';
export interface ISessionService {
    getSessionList(options: SessionListOptions): Promise<{
        contents: SessionDisplayItem[];
        pageNumber: number;
        pageSize: number;
        totalItems: number;
        totalPages: number;
    }>;
    getSession(channelId: string, sessionId: string): Promise<SessionDisplayItem>;
    listLegacyChannelSessions(options: any): Promise<any>;
    getSessionDataList(options: any): Promise<any>;
    getSessionExternalBySession(channelId: string, sessionId: string): Promise<any>;
    createSession(options: any): Promise<any>;
    updateSession(options: any): Promise<void>;
    deleteSession(channelId: string, sessionId: string): Promise<void>;
    getSessionByExternal(channelId: string, externalSessionId: string): Promise<any>;
    listFileIdByExternal(channelId: string, externalSessionId: string): Promise<any>;
    relevanceSession(channelId: string, externalSessionId: string): Promise<string>;
}
export declare class SessionHandler extends BaseHandler {
    private readonly sessionService;
    constructor(authConfig: AuthConfig, serviceConfig: SessionServiceConfig, sessionService?: ISessionService);
    listSessions(options: SessionListOptions): Promise<void>;
    getSession(options: SessionGetOptions): Promise<void>;
    listLegacyChannelSessions(options: any): Promise<void>;
    getSessionDataList(options: any): Promise<void>;
    getSessionExternalBySession(options: any): Promise<void>;
    createSession(options: any): Promise<void>;
    updateSession(options: any): Promise<void>;
    deleteSession(options: any): Promise<void>;
    getSessionByExternal(options: any): Promise<void>;
    listFileIdByExternal(options: any): Promise<void>;
    relevanceSession(options: any): Promise<void>;
    private displaySessionList;
    private compactOptions;
    private displayResult;
    private displaySessionTable;
    private displaySessionDetail;
    private displaySessionDetailTable;
    private getStatusText;
    private formatTime;
    private formatTimestamp;
}
//# sourceMappingURL=session.handler.d.ts.map