import type * as http from "node:http";
import { type RunnerCoreOptions } from "@bunny-agent/runner-harness";
type RunToolRefs = RunnerCoreOptions["toolRefs"];
export interface RunRequest {
    runner?: string;
    model?: string;
    userInput: string;
    systemPrompt?: string;
    maxTurns?: number;
    allowedTools?: string[];
    resume?: string;
    skillPaths?: string[];
    cwd?: string;
    /** Skip tool approval checks (bypass permissions). */
    yolo?: boolean;
    /** Inline runner env (string map); same keys override. */
    env?: Record<string, string>;
    /** Tool refs the runner should expose to the LLM. */
    toolRefs?: RunToolRefs;
}
export declare const HEARTBEAT_COMMENT = ": heartbeat\n\n";
/** Get current heartbeat interval. */
export declare function getHeartbeatIntervalMs(): number;
/** Override heartbeat interval — exposed for testing only. */
export declare function setHeartbeatIntervalMs(ms: number): void;
/**
 * POST /api/coding/run — Node http.ServerResponse version (standalone daemon)
 */
export declare function bunnyAgentRun(req: RunRequest, res: http.ServerResponse, env: Record<string, string>): Promise<void>;
/**
 * POST /api/coding/run — Web Response version (Next.js embed)
 * Returns a streaming Response with NDJSON body.
 */
export declare function codingRunStream(req: RunRequest, env: Record<string, string>): Response;
export {};
//# sourceMappingURL=coding.d.ts.map