/**
 * Main agent loop — the top-level orchestrator.
 *
 * This module wires together the subsystems and runs the infinite
 * sleep/wake loop. Each concern is delegated to a focused module:
 *
 *  - HeartbeatManager:  runtime heartbeat lifecycle
 *  - ReplyWatchdog:     fast-responder fallback timer
 *  - WakeCycleRunner:   session switch loop, stream processing, error retry,
 *                       transcript indexing
 *  - InterruptHandler:  mid-turn message injection
 *  - SessionManager:    dual-session management
 *  - ChannelManager:    messaging channel adapters
 */
import { type VisionClawConfig, type OwnerConfig } from "../config/types.js";
import { SessionManager } from "./session-manager.js";
import { MessageQueue } from "../channels/queue.js";
import { type AgentState } from "./state.js";
import type { RealtimeModuleHandle } from "../realtime/index.js";
export type { AgentState } from "./state.js";
export { getAgentState } from "./state.js";
/**
 * Main agent loop. This is the entry point that runs forever.
 */
export declare function startAgentLoop(config: VisionClawConfig, options?: {
    restartTunnel?: () => Promise<string | null>;
    obsClose?: () => Promise<void>;
    realtimeClose?: () => Promise<void>;
    realtimeHandle?: RealtimeModuleHandle;
    onReady?: (deps: {
        agentState: AgentState;
        sessionManager: SessionManager;
        messageQueue: MessageQueue;
        ownerConfig: OwnerConfig;
    }) => void;
}): Promise<void>;
//# sourceMappingURL=loop.d.ts.map