import type { Argv } from "yargs";
import type { ConversationMemoryConfig } from "../../lib/types/index.js";
export declare class LoopSession {
    private conversationMemoryConfig?;
    private options?;
    private initializeCliParser;
    private isRunning;
    private sessionId?;
    private commandHistory;
    private sessionVariablesSchema;
    constructor(initializeCliParser: () => Argv, conversationMemoryConfig?: ConversationMemoryConfig | undefined, options?: {
        directResumeSessionId?: string;
        forceNewSession?: boolean;
    } | undefined);
    start(): Promise<void>;
    /**
     * Handle direct session resume from CLI option
     */
    private handleDirectSessionResume;
    /**
     * Handle conversation selection logic when no direct resume is specified
     */
    private handleConversationSelection;
    /**
     * Check context budget and warn if approaching limits.
     */
    private checkContextBudgetWarning;
    /**
     * Clean up session resources and connections
     */
    private cleanup;
    private handleSessionCommands;
    private showHelp;
    private showSetHelp;
    /**
     * Get command input with history support using readline
     */
    private getCommandWithHistory;
    /**
     * Restore a conversation session and set up the global session state
     */
    private restoreSession;
    /**
     * Create NeuroLink instance and validate conversation in one step
     * Eliminates redundant instance creation and initialization
     */
    private createAndValidateNeurolinkInstance;
    /**
     * Configure tool execution context for the restored session
     */
    private configureToolContext;
    /**
     * Verify that tools are available and working in the restored session
     */
    private verifyToolAvailability;
    /**
     * Restore global session state and session variables
     */
    private restoreGlobalSessionState;
}
