/**
 * @fileoverview Ralph Wiggum configuration parser
 *
 * Parses the official Ralph Wiggum plugin state file (.claude/ralph-loop.local.md)
 * and extracts configuration for session tracking.
 *
 * @module ralph-config
 */
/**
 * Ralph Loop configuration from .claude/ralph-loop.local.md
 */
interface RalphLoopConfig {
    enabled: boolean;
    iteration: number;
    maxIterations: number | null;
    completionPromise: string | null;
}
/**
 * Parse Ralph Wiggum loop config from .claude/ralph-loop.local.md
 *
 * The official Ralph Wiggum plugin stores state in this file with YAML frontmatter:
 * ```yaml
 * ---
 * enabled: true
 * iteration: 5
 * max-iterations: 50
 * completion-promise: "COMPLETE"
 * ---
 * # Original Prompt
 * ...
 * ```
 *
 * @param workingDir - Working directory to search in
 * @returns Parsed config or null if file doesn't exist or is invalid
 */
export declare function parseRalphLoopConfig(workingDir: string): RalphLoopConfig | null;
/**
 * Parse Ralph Wiggum loop config from file content.
 * Exported for testing.
 *
 * @param content - File content to parse
 * @returns Parsed config or null if content is invalid
 */
export declare function parseRalphLoopConfigFromContent(content: string): RalphLoopConfig | null;
/**
 * Extract completion phrase from CLAUDE.md content.
 * Looks for <promise>PHRASE</promise> pattern.
 *
 * Handles multiple variations:
 * - Raw text: <promise>PHRASE</promise>
 * - In backticks: `<promise>PHRASE</promise>`
 * - With whitespace: <promise> PHRASE </promise>
 * - Multiple occurrences: returns the first one
 *
 * @param claudeMdPath - Path to CLAUDE.md file
 * @returns The completion phrase (uppercase), or null if not found
 */
export declare function extractCompletionPhrase(claudeMdPath: string): string | null;
/**
 * Extract completion phrase from CLAUDE.md content string.
 * Exported for testing.
 *
 * @param content - CLAUDE.md content to parse
 * @returns The completion phrase (uppercase), or null if not found
 */
export declare function extractCompletionPhraseFromContent(content: string): string | null;
export {};
//# sourceMappingURL=ralph-config.d.ts.map