import { AutoBeHistory, AutoBePhase, AutoBeUserMessageContent, IAutoBeAgent } from "@autobe/interface";
import { ILlmSchema } from "@samchon/openapi";
import { AutoBeAgentBase } from "./AutoBeAgentBase";
import { AutoBeTokenUsage } from "./context/AutoBeTokenUsage";
import { IAutoBeProps } from "./structures/IAutoBeProps";
/**
 * Main agent class that orchestrates the entire vibe coding pipeline through
 * conversation-driven development.
 *
 * The AutoBeAgent serves as the central coordinator for the waterfall-based
 * development process with spiral model iterative improvements. It manages the
 * five specialized agents (Analyze, Prisma, Interface, Test, Realize) that
 * transform user conversations into complete working applications through a
 * sophisticated AST-based compilation infrastructure.
 *
 * The agent operates through natural language conversation, supporting
 * multimodal input including text, images, files, and audio. It maintains
 * conversation history, tracks development progress through real-time events,
 * and provides access to all generated artifacts including requirements
 * documentation, database schemas, API specifications, test suites, and
 * implementation code.
 *
 * The vibe coding approach eliminates traditional development barriers by
 * enabling users to express requirements naturally while the agent handles all
 * technical implementation details through validated AST transformations and
 * continuous quality assurance feedback loops.
 *
 * @author Samchon
 */
export declare class AutoBeAgent<Model extends ILlmSchema.Model> extends AutoBeAgentBase implements IAutoBeAgent {
    /**
     * Initializes a new AutoBeAgent instance with the specified configuration.
     *
     * Creates and configures the agent with AI vendor settings, behavioral
     * context (locale/timezone), and compilation infrastructure. The agent can
     * optionally resume from previous conversation histories to continue
     * development sessions or build upon existing work.
     *
     * The constructor sets up the internal MicroAgentica engine, initializes the
     * development state from provided histories, and establishes the event
     * dispatch system for real-time progress notifications. The agent becomes
     * ready for conversation-driven development immediately after construction.
     *
     * @param props Configuration properties including AI vendor settings,
     *   behavioral context, compilation tools, and optional conversation
     *   histories for session continuation
     */
    constructor(props: IAutoBeProps<Model>);
    conversate(content: string | AutoBeUserMessageContent | AutoBeUserMessageContent[]): Promise<AutoBeHistory[]>;
    getHistories(): AutoBeHistory[];
    getTokenUsage(): AutoBeTokenUsage;
    getPhase(): AutoBePhase | null;
}
