import { LlmAgent } from '../agents/LlmAgent';
import { BaseArtifactService } from '../artifacts/BaseArtifactService';
import { BaseSessionService } from '../sessions/BaseSessionService';
import { SessionInterface as Session } from '../sessions/types';
/**
 * Run an agent using input from a file
 *
 * @param appName Name of the application
 * @param userId User ID to create the session with
 * @param rootAgent The root agent to run
 * @param artifactService Service for managing artifacts
 * @param sessionService Service for managing sessions
 * @param inputPath Path to the input file
 * @returns The created session
 */
export declare function runInputFile(appName: string, userId: string, rootAgent: LlmAgent, artifactService: BaseArtifactService, sessionService: BaseSessionService, inputPath: string): Promise<Session>;
/**
 * Run an agent interactively via CLI
 *
 * @param rootAgent The root agent to run
 * @param artifactService Service for managing artifacts
 * @param session The session to use
 * @param sessionService Service for managing sessions
 */
export declare function runInteractively(rootAgent: LlmAgent, artifactService: BaseArtifactService, session: Session, sessionService: BaseSessionService): Promise<void>;
/**
 * Run the CLI for a specific agent
 *
 * @param options Configuration options
 * @param options.agentParentDir The parent directory of the agent
 * @param options.agentFolderName The folder name of the agent
 * @param options.replayFile Optional path to a replay JSON file with initial state and queries
 * @param options.resumeFile Optional path to a previously saved session file
 * @param options.saveSession Whether to save the session after running
 */
export declare function runCli({ agentParentDir, agentFolderName, replayFile, resumeFile, saveSession, }: {
    agentParentDir: string;
    agentFolderName: string;
    replayFile?: string;
    resumeFile?: string;
    saveSession: boolean;
}): Promise<void>;
