/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
export interface IConversationContext {
    conversationId?: string;
    parentId?: string;
}
/**
 * Manages the state of the active conversation context for the CLI session.
 * This is a singleton that holds the current conversationId and parentId.
 */
declare class ConversationContextManager {
    private context;
    /**
     * Generates a new, random conversation ID.
     */
    private generateConversationId;
    /**
     * Starts a new conversation, generating a new ID and clearing the parent ID.
     */
    startNewConversation(): void;
    /**
     * Retrieves the current conversation context.
     * If no conversation is active, it starts a new one.
     */
    getContext(): IConversationContext;
    /**
     * Updates the parent ID for the next turn in the conversation.
     * @param newParentId The ID of the most recent message, which becomes the parent for the next message.
     */
    setParentId(newParentId: string): void;
    /**
     * Restores the full conversation context, e.g., when loading a session.
     * @param newContext The full context to restore.
     */
    setContext(newContext: IConversationContext): void;
    /**
     * Clears the current conversation context.
     */
    reset(): void;
}
export declare const ConversationContext: ConversationContextManager;
export {};
