import type { EventSubscription } from "./agentFeatures.js";
export interface AgentConfig {
    name: string;
    alias: string;
    description: string;
    systemPrompt?: string;
    createdAt: number;
    enabled?: boolean;
    workspacePath?: string;
    serverTimezone?: string;
    emoji?: string;
    personality?: string;
    role?: string;
    tone?: string;
    pronouns?: string;
    languages?: string[];
    guidelines?: string[];
    userName?: string;
    userTimezone?: string;
    userLocation?: string;
    userContext?: string;
    eventSubscriptions?: EventSubscription[];
    mcpKeyAliasLocal?: string;
    mcpKeyAliasRemote?: string;
    mcpKeyAlias?: string;
}
/** One section of the compiled per-agent system prompt append. */
export interface SystemPromptSection {
    /** Stable identifier: "identity", a workspace filename ("SOUL.md"), or a journal path ("memory/2026-06-11.md") */
    key: string;
    /** Human-readable label, e.g. "Agent Identity", "Soul & Personality" */
    label: string;
    source: "agent.json" | "workspace" | "memory-journal";
    /** The section's contribution, exactly as embedded in the prompt. Empty when not included. */
    content: string;
    chars: number;
    /** chars / 4, rounded */
    estTokens: number;
    /** False when the file is missing/empty and therefore omitted from the prompt */
    included: boolean;
}
/** Response of GET /api/agents/:alias/system-message-preview */
export interface SystemMessagePreview {
    sections: SystemPromptSection[];
    /** The full assembled append string — identical to what sessions receive */
    fullPrompt: string;
    /** Measured on fullPrompt (separators/headers count), not the sum of sections */
    totalChars: number;
    totalEstTokens: number;
    notes: {
        basePrompt: string;
        runtimeAdditions: string;
    };
}
//# sourceMappingURL=agent.d.ts.map