import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
/**
 * Serializes a proto `Agent` into the canonical Stigmer YAML format.
 *
 * This is the inverse of {@link parseResourceYaml} — the serialized YAML
 * is round-trip compatible and can be fed back through `parseResourceYaml`
 * to produce a valid `AgentInput`.
 *
 * Only emits `apiVersion`, `kind`, `metadata`, and `spec`. The `status`
 * field is system-managed and never included in the YAML output.
 *
 * Uses snake_case field names in the YAML to match the proto canonical form,
 * which is the format expected by both the backend and `parseResourceYaml`.
 *
 * @param agent - The proto `Agent` resource to serialize.
 * @returns A YAML string suitable for editing and re-applying.
 *
 * @example
 * ```ts
 * import { serializeAgentYaml } from "@stigmer/react";
 *
 * const yaml = serializeAgentYaml(agent);
 * const file = new File([yaml], "my-agent.yaml", { type: "text/yaml" });
 * ```
 *
 * @see {@link parseResourceYaml} for the inverse operation
 */
export declare function serializeAgentYaml(agent: Agent): string;
/**
 * Serializes a proto `McpServer` into the canonical Stigmer YAML format.
 *
 * This is the inverse of {@link parseResourceYaml} for McpServer resources.
 * Same round-trip guarantee and snake_case convention as {@link serializeAgentYaml}.
 *
 * @param mcpServer - The proto `McpServer` resource to serialize.
 * @returns A YAML string suitable for editing and re-applying.
 *
 * @example
 * ```ts
 * import { serializeMcpServerYaml } from "@stigmer/react";
 *
 * const yaml = serializeMcpServerYaml(mcpServer);
 * const file = new File([yaml], "my-server.yaml", { type: "text/yaml" });
 * ```
 *
 * @see {@link parseResourceYaml} for the inverse operation
 */
export declare function serializeMcpServerYaml(mcpServer: McpServer): string;
//# sourceMappingURL=serialize-resource-yaml.d.ts.map