/**
 * Simple Session Manager
 * Provides basic session tracking without concurrency control
 *
 * Key Features:
 * 1. Session metadata tracking
 * 2. Request ID generation
 * 3. Basic statistics
 * 4. No queuing or concurrency control
 */
import { EventEmitter } from 'events';
export interface SessionRequest {
    requestId: string;
    sessionId: string;
    conversationId: string;
    timestamp: Date;
    isStreaming: boolean;
    status: 'active' | 'completed' | 'failed';
    sequenceNumber: number;
    startTime: number;
    endTime?: number;
}
export interface SessionStats {
    totalSessions: number;
    activeRequests: number;
    completedRequests: number;
    failedRequests: number;
    outOfOrderResponses: number;
}
/**
 * Simple session manager without concurrency control
 * Provides basic session tracking and request ID generation
 */
export declare class SimpleSessionManager extends EventEmitter {
    private port;
    private activeRequests;
    private sessionCounters;
    private completedRequests;
    private failedRequests;
    private outOfOrderResponses;
    private conversationHistory;
    constructor(port: number);
    /**
     * Generate a simple request ID without queuing
     * Format: sessionId:conversationId:timestamp:random
     */
    generateRequestId(sessionId: string, conversationId: string, isStreaming?: boolean): string;
    /**
     * Mark request as completed
     */
    completeRequest(requestId: string, finishReason?: string): void;
    /**
     * Mark request as failed
     */
    failRequest(requestId: string, error: any): void;
    /**
     * Check if a request is active
     */
    isRequestActive(requestId: string): boolean;
    /**
     * Get session statistics
     */
    getSessionStats(): SessionStats;
    /**
     * Get active requests for a specific session
     */
    getActiveRequests(sessionId: string, conversationId?: string): SessionRequest[];
    /**
     * Get next counter for a session
     */
    private getNextCounter;
    /**
     * Check if request completed out of order and log warning
     */
    private checkRequestOrder;
    /**
     * Clean up expired sessions
     */
    private cleanupExpiredSessions;
}
/**
 * Get or create simple session manager for a specific port
 */
export declare function getSimpleSessionManager(port: number): SimpleSessionManager;
//# sourceMappingURL=simple-session-manager.d.ts.map