import type { PlanModeEvent } from '../../types/index.js';
/**
 * Reads CLAUDE_TOOL_NAME and CLAUDE_TOOL_INPUT from the environment
 * and returns a PlanModeEvent describing the current tool invocation.
 *
 * This is designed to be called from Claude Code hook scripts that set
 * these env vars before invoking the hook handler.
 */
export declare function detectPlanModeEvent(): PlanModeEvent;
/**
 * Returns true when the given tool name corresponds to entering Plan Mode.
 */
export declare function isEnterPlanMode(toolName: string): boolean;
/**
 * Returns true when the given tool name corresponds to exiting Plan Mode.
 */
export declare function isExitPlanMode(toolName: string): boolean;
/**
 * Attempts to extract a human-readable task description from the JSON-encoded
 * CLAUDE_TOOL_INPUT string.  Returns null when the input is empty or cannot
 * be parsed, or when no recognisable description field is present.
 *
 * Claude Code's Task tool input has the shape: { description: string, ... }
 * We also fall back to a `prompt`, `task`, or `content` field.
 */
export declare function extractTaskDescription(toolInput: string): string | null;
//# sourceMappingURL=plan-mode-detector.d.ts.map