/**
 * Map an authoring project (the default export of `lobu.config.ts`, built by
 * `defineConfig` from `@lobu/cli/config`) to the apply `DesiredState`.
 *
 * `DesiredState` is an apply-internal IR and stays CLI-private; this is the one
 * place that translates the public authoring objects into it. The mapping is
 * pure (modulo `installedAt` timestamps, matching the TOML loader) so it can be
 * unit-tested without importing `lobu.config.ts`.
 */
import { type AgentSettings } from "@lobu/core";
import type { Project } from "../../../config/index.js";
import type { DesiredState } from "./desired-state.js";
/** Skill entries resolved from `defineAgent({ skills })` (inline + file). */
type LocalSkills = NonNullable<AgentSettings["skillsConfig"]>["skills"];
/** Agent-dir prompt markdown (read by the loader from SOUL/IDENTITY/USER.md). */
export interface AgentMarkdown {
    soulMd?: string;
    identityMd?: string;
    userMd?: string;
}
/**
 * Merge an agent's file-resolved artifacts (prompt markdown from its dir +
 * skills declared via `defineAgent({ skills })`) into the already-mapped agent
 * settings. Pure (no file IO — the loader reads the files and passes the
 * results in) so it can be unit-tested directly.
 *
 * Mirrors `buildAgentSettings`'s skill-merge semantics exactly: agent-level
 * nix is laid down first (already in `settings`), then skill nix packages are
 * unioned on top (deduped). Skills are prompt/behavior only — they no longer
 * contribute network or MCP config.
 */
export declare function mergeAgentDirArtifacts(settings: Partial<AgentSettings>, markdown: AgentMarkdown, localSkills: LocalSkills): void;
/**
 * Translate an authoring project into the apply `DesiredState`. When `only` is
 * set, connector definitions/connections/auth-profiles are skipped (and their
 * secrets not collected), matching the TOML loader's `--only` behavior so
 * `lobu apply --only agents` doesn't demand connector secrets.
 */
export declare function mapProjectToDesiredState(project: Project, env?: NodeJS.ProcessEnv, only?: "agents" | "memory"): DesiredState;
export {};
//# sourceMappingURL=map-config.d.ts.map