import { z } from "zod";
import type { CommandMessage } from "../channels/interface.js";
import type { VisionClawConfig } from "../config/types.js";
declare const FastResponseSchema: z.ZodObject<{
    replies: z.ZodArray<z.ZodObject<{
        channel: z.ZodString;
        sender: z.ZodString;
        reply: z.ZodString;
    }, z.core.$strip>>;
    needsPrimaryAction: z.ZodBoolean;
    briefForPrimary: z.ZodString;
}, z.core.$strip>;
export type FastResponse = z.infer<typeof FastResponseSchema>;
export type FastResponseMode = "interrupt" | "watchdog";
/**
 * Make a single lightweight API call to acknowledge one or more user messages
 * that arrived while the primary agent is busy. Handles the batch case where
 * multiple messages arrive in quick succession — the model sees all of them
 * and produces per-sender personalized replies + a unified briefing.
 *
 * Uses {@link runSideCall} so the request is routed through the same engine
 * (Claude SDK or Pi one-shot `complete()`) as the main agent.
 *
 * Returns null if the call fails so the caller can fall back to the original
 * interrupt-injection path.
 */
export declare function fastRespond(options: {
    systemPrompt: string;
    messages: CommandMessage[];
    activitySummary: string;
    config: VisionClawConfig;
    mode?: FastResponseMode;
    compacting?: boolean;
    learning?: boolean;
}): Promise<FastResponse | null>;
export {};
//# sourceMappingURL=fast-responder.d.ts.map