import { AgentSession, type AgentSessionOptions } from "../core/agent-session.js";
import type { ChatAgentId } from "./types.js";
export type ChatAgentOptions = Omit<AgentSessionOptions, "systemPrompt" | "promptCacheKeyPrefix" | "sessionRootDir" | "coderSlashCommands" | "selfCorrectionHooks" | "projectCustomization" | "globalSubagents" | "loadExtensions" | "orchestrationPrompt" | "onEnterPlan" | "onExitPlan"> & {
    sessionsDir: string;
    onAgentChange?: (agentId: ChatAgentId) => void | Promise<void>;
};
export declare function chatAgentSessionsDir(coderSessionsDir: string, agentId: ChatAgentId): string;
export declare function buildChatAgentSystemPrompt(agentId: ChatAgentId, rolePrompt: string, cwd: string, handoffEnabled: boolean): string;
/** Create a chat agent on the shared caching/compaction spine without GG Coder behavior. */
export declare function createChatAgentSession(agentId: ChatAgentId, systemPrompt: string, options: ChatAgentOptions): AgentSession;
//# sourceMappingURL=shared.d.ts.map