import type { Workflow } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/api_pb";
import type { WorkflowInput } from "@stigmer/sdk";
/**
 * Serializes a proto `Workflow` into the canonical Stigmer YAML format.
 *
 * The output uses snake_case field names and is round-trip compatible
 * with {@link parseWorkflowYaml}. Only emits `apiVersion`, `kind`,
 * `metadata`, and `spec` — the `status` field is system-managed.
 *
 * @param workflow - The proto `Workflow` resource to serialize.
 * @returns A YAML string suitable for editing and re-applying.
 *
 * @example
 * ```ts
 * const yaml = serializeWorkflowYaml(workflow);
 * // Edit yaml...
 * const input = parseWorkflowYaml(yaml, "acme");
 * await stigmer.workflow.apply(input);
 * ```
 *
 * @since T10 (YAML Editor with Graph Preview)
 */
export declare function serializeWorkflowYaml(workflow: Workflow): string;
/**
 * Parses a Stigmer Workflow YAML string into a `WorkflowInput` suitable
 * for `stigmer.workflow.apply()`.
 *
 * Handles snake_case → camelCase conversion for all nested structures
 * including tasks, env declarations, budget, and flow control.
 *
 * @param content - Raw YAML content string.
 * @param org - Target organization slug. Overrides `metadata.org` in the YAML.
 * @returns A `WorkflowInput` ready for the SDK apply/update call.
 * @throws {Error} When the YAML is malformed or missing required fields.
 *
 * @since T10 (YAML Editor with Graph Preview)
 */
export declare function parseWorkflowYaml(content: string, org: string): WorkflowInput;
//# sourceMappingURL=serialize-workflow-yaml.d.ts.map