export type AgentDetailData = { name: string; role?: string; model?: string; image_model?: string; vision_model?: string; transcribe_model?: string; tts_model?: string; video_model?: string; allowedTools?: string[]; allowedPaths?: string[]; skills?: string[]; systemPrompt?: string; assignedLoops?: string[]; team?: string; teamName?: string; team_name?: string; }; type VaultEntry = { service: string; type: string; label?: string | null; keys?: string[]; }; export declare function AgentDetail({ projectId, agent, initialMemory, initialVault, }: { projectId: string; agent: AgentDetailData; initialMemory: string; initialVault: VaultEntry[]; }): import("react/jsx-runtime").JSX.Element; export declare function agentConfigCode(a: AgentDetailData): string; export type SystemSub = "models" | "instructions" | "memory" | "tools" | "skills" | "loops" | "permissions" | "settings"; export declare function SystemPanel({ projectId, agent, initialMemory, hiddenSubs, fillHeight, sub: subProp, onSubChange, }: { projectId: string; agent: AgentDetailData; initialMemory: string; /** Sub-nav ids to hide (e.g. ["settings"] in onboarding). */ hiddenSubs?: readonly string[]; /** Fill the parent height and scroll ONLY the panel — the sub-nav stays put * (used in the onboarding card). */ fillHeight?: boolean; /** Controlled active sub. Omit for internal state + `?tab=` URL focus. */ sub?: SystemSub; onSubChange?: (sub: SystemSub) => void; }): import("react/jsx-runtime").JSX.Element; /** * Inline agent editor — the SAME panels as SystemPanel (DRY), but stacked in a * single scroll instead of a vertical sub-nav. Used by the onboarding studio's * "Agent" tab where a compact, no-navigation layout reads better. Only the * agent-definition panels (no Credentials / Sessions, and Settings lives in the * Config tab already). */ export declare function AgentInlinePanel({ projectId, agent, }: { projectId: string; agent: AgentDetailData; }): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=agent-detail.d.ts.map