import type { ReflectorResult as BaseReflectorResult } from './types.js';
/**
 * Result from parsing Reflector output, extending the base type with
 * token count used for compression validation.
 */
export interface ReflectorResult extends BaseReflectorResult {
    /** Token count of output (for compression validation) */
    tokenCount?: number;
}
/**
 * Build the Reflector's system prompt.
 *
 * The Reflector handles meta-observation - when observations grow too large,
 * it reorganizes them into something more manageable by:
 * - Re-organizing and streamlining observations
 * - Drawing connections and conclusions between observations
 * - Identifying if the agent got off track and how to get back on track
 * - Preserving ALL important information (reflections become the ENTIRE memory)
 */
export declare function buildReflectorSystemPrompt(): string;
/**
 * The Reflector's system prompt (default - for backwards compatibility)
 */
export declare const REFLECTOR_SYSTEM_PROMPT: string;
/**
 * Compression retry prompt - used when reflection doesn't reduce size
 */
export declare const COMPRESSION_RETRY_PROMPT = "\n## COMPRESSION REQUIRED\n\nYour previous reflection was the same size or larger than the original observations.\n\nPlease re-process with slightly more compression:\n- Towards the beginning, condense more observations into higher-level reflections\n- Closer to the end, retain more fine details (recent context matters more)\n- Memory is getting long - use a more condensed style throughout\n- Combine related items more aggressively but do not lose important specific details of names, places, events, and people\n- For example if there is a long nested observation list about repeated tool calls, you can combine those into a single line and observe that the tool was called multiple times for x reason, and finally y outcome happened.\n\nYour current detail level was a 10/10, lets aim for a 8/10 detail level.\n";
/**
 * Build the prompt for the Reflector agent
 */
export declare function buildReflectorPrompt(observations: string, manualPrompt?: string, compressionRetry?: boolean, skipContinuationHints?: boolean): string;
/**
 * Parse the Reflector's output to extract observations, current task, and suggested response.
 * Uses XML tag parsing for structured extraction.
 */
export declare function parseReflectorOutput(output: string): ReflectorResult;
/**
 * Validate that reflection actually compressed the observations below the target threshold
 *
 * @param reflectedTokens - Token count of reflected observations
 * @param targetThreshold - Target token count to compress below (the reflection threshold)
 * @returns true if compression was successful (reflected tokens are below target)
 */
export declare function validateCompression(reflectedTokens: number, targetThreshold: number): boolean;
//# sourceMappingURL=reflector-agent.d.ts.map