/**
 * Autonomy Service for elizaOS
 *
 * Provides autonomous operation loop for agents, enabling them to think
 * and act independently without external prompts.
 */
import { type IAgentRuntime, type UUID } from "../types";
import { Service } from "../types/service";
import type { AutonomyStatus } from "./types";
/**
 * Service type constant for autonomy
 */
export declare const AUTONOMY_SERVICE_TYPE: "AUTONOMY";
/**
 * AutonomyService - Manages autonomous agent operation
 *
 * This service runs an autonomous loop that triggers agent thinking
 * in a dedicated room context, separate from user conversations.
 */
export declare class AutonomyService extends Service {
    static serviceType: "AUTONOMY";
    static serviceName: string;
    protected isRunning: boolean;
    protected isThinking: boolean;
    protected loopInterval?: NodeJS.Timeout;
    protected settingsMonitorInterval?: NodeJS.Timeout;
    protected intervalMs: number;
    protected autonomousRoomId: UUID;
    protected autonomousWorldId: UUID;
    private getAutonomyMode;
    private getTargetRoomId;
    private getTargetRoomContextText;
    constructor();
    /**
     * Start the autonomy service
     */
    static start(runtime: IAgentRuntime): Promise<AutonomyService>;
    /**
     * Initialize the service
     */
    private initialize;
    /**
     * Ensure autonomous world and room exist
     */
    private ensureAutonomousContext;
    /**
     * Monitor settings for autonomy state changes
     */
    private setupSettingsMonitoring;
    /**
     * Start the autonomous loop
     */
    startLoop(): Promise<void>;
    /**
     * Stop the autonomous loop
     */
    stopLoop(): Promise<void>;
    /**
     * Schedule next autonomous thinking iteration
     */
    private scheduleNextThink;
    /**
     * Check if currently processing an autonomous thought
     */
    isThinkingInProgress(): boolean;
    private buildEntityNameLookup;
    private readEntityName;
    /**
     * Perform one iteration of autonomous thinking using the full Eliza agent pipeline.
     * This processes the message through:
     * - All registered providers (context gathering)
     * - The LLM generation pipeline (response creation)
     * - Action processing (executing decided actions)
     * - Evaluators (post-response analysis)
     */
    private performAutonomousThink;
    /**
     * Create a continuous autonomous operation prompt
     */
    private createContinuousPrompt;
    private createTaskPrompt;
    private fillAutonomyTemplate;
    /**
     * Check if loop is currently running
     */
    isLoopRunning(): boolean;
    /**
     * Get current loop interval in milliseconds
     */
    getLoopInterval(): number;
    /**
     * Set loop interval (takes effect on next iteration)
     */
    setLoopInterval(ms: number): void;
    /**
     * Get the autonomous room ID
     */
    getAutonomousRoomId(): UUID;
    /**
     * Enable autonomy
     */
    enableAutonomy(): Promise<void>;
    /**
     * Disable autonomy
     */
    disableAutonomy(): Promise<void>;
    /**
     * Get current autonomy status
     */
    getStatus(): AutonomyStatus;
    /**
     * Stop the service
     */
    stop(): Promise<void>;
    get capabilityDescription(): string;
}
//# sourceMappingURL=service.d.ts.map