/**
 * Merge `POST /api/coding/run` body `env` into the daemon process environment.
 * Kept in-package so `@bunny-agent/daemon` does not depend on `@bunny-agent/manager`.
 * Only string values and valid env-style keys are accepted.
 */
/**
 * Normalize `body.env` from JSON (string keys and string values only).
 */
export declare function sanitizeCodingRunBodyEnv(parsed: unknown): Record<string, string> | undefined;
/**
 * Normalize `body.systemEnv` — same shape rules as `env`. Returned undefined
 * when the field is missing or yields no valid entries so callers can keep
 * the field optional on the wire (forward/back compat).
 */
export declare function sanitizeCodingRunBodySystemEnv(parsed: unknown): Record<string, string> | undefined;
export interface CodingRunBodyWithEnv {
    env?: unknown;
    systemEnv?: unknown;
}
export interface PreparedCodingRunEnv {
    /** Full env passed to the runner (daemon env + inline body.env). */
    env: Record<string, string>;
    /** Sanitized subset of env keys safe to expose to the bash tool. */
    systemEnv: Record<string, string> | undefined;
}
/**
 * Sanitize and merge env-related fields from a `/api/coding/run` body.
 * Returns the runner env (daemon env + inline `body.env`) and the
 * sanitized `systemEnv` subset, with no body mutation.
 */
export declare function prepareCodingRunEnv(daemonEnv: Record<string, string>, body: CodingRunBodyWithEnv): PreparedCodingRunEnv;
//# sourceMappingURL=coding-run-env.d.ts.map