/**
 * Nexus Prime - Darwin Loop Orchestrator
 *
 * Enforces controlled self-improvement via bounded modification spaces.
 * Ensures proposed hypotheses target allowed directories before logging them.
 *
 * Phase: 8F (Darwin Loop)
 */
import { DarwinJournal, type DarwinCycle } from './darwin-journal.js';
import type { MemoryEngine } from './memory.js';
import { type GithubBridge } from './github-bridge.js';
import { type RemoteTelemetry } from './telemetry-remote.js';
export declare class DarwinLoop {
    journal: DarwinJournal;
    private memory?;
    private githubBridge;
    private remoteTelemetry;
    constructor(memory?: MemoryEngine, options?: {
        githubBridge?: GithubBridge;
        telemetry?: RemoteTelemetry;
    });
    /**
     * Determine if a target file is within the bounded improvement space.
     */
    isAllowedTarget(targetFile: string): {
        allowed: boolean;
        reason?: string;
    };
    /**
     * Propose an improvement hypothesis if bounds check passes.
     */
    propose(hypothesis: string, targetFile: string, approach: string): DarwinCycle;
    /**
     * Run a build step to validate the code still compiles.
     */
    validateBuild(): Promise<void>;
    /**
     * Review a pending cycle. Evaluates builds before allowing 'apply'.
     */
    review(cycleId: string, action: 'apply' | 'reject' | 'defer', learnings?: string[]): Promise<DarwinCycle>;
    /**
     * Get pending cycles
     */
    getPending(): DarwinCycle[];
    /**
     * Whether self-improvement is enabled for this runtime instance.
     */
    static isEnabled(): boolean;
    /**
     * Auto-propose an improvement based on orchestration learnings.
     * Called post-execution; never auto-applies (review gate always required).
     * Returns null if disabled, budget exceeded, or no clear improvement found.
     */
    autoPropose(learnings: string[], task: string): DarwinCycle | null;
}
