/**
 * Parses the raw command strings agents pass to Bash tool calls into structured
 * metadata: the executable, category, subcommand, and a display summary. Used by
 * session rendering and the activity-log hook so `agents sessions` can
 * summarize what actually happened instead of printing a wall of shell.
 */
export type BashCategory = 'vcs' | 'build-test' | 'install' | 'remote' | 'http' | 'media' | 'upscaling' | 'metadata' | 'probe' | 'search' | 'shell' | 'wait' | 'other';
export interface BashToolInfo {
    category: BashCategory;
    signal: 'high' | 'mid' | 'low';
    action: string;
    aliases?: string[];
}
export interface BashCommandInfo {
    tool: string;
    category: BashCategory;
    subcommand: string;
    action: string;
    summary: string;
    signal: 'high' | 'mid' | 'low';
}
/**
 * TOOL_REGISTRY (category + action, aliases flattened to their own keys)
 * serialized as the body of a Python dict literal. The embedded activity-log
 * hook script (`ACTIVITY_LOG_HOOK_SCRIPT` in `activity.ts`) runs standalone
 * under `python3` and can't import this module, so its taxonomy is generated
 * from this single source instead of hand-duplicated (#1889 — the two had
 * already drifted: the hand-authored copy was missing `rmdir`).
 */
export declare function pythonToolRegistryLiteral(indent?: string): string;
/**
 * VALUE_FLAGS serialized as the body of a Python dict of sets. Same reason as
 * {@link pythonToolRegistryLiteral}: the activity-log hook script embeds this
 * table and must not hand-drift from the TypeScript source (#1889 — the Python
 * copy was missing `agents`/`linear` two-level tools).
 */
export declare function pythonValueFlagsLiteral(indent?: string): string;
export declare function unwrapCommand(cmd: string): string;
/**
 * Split a possibly-compound Bash command into simple commands, then tokenize each
 * with shlex. Returns an empty array for empty input.
 */
export declare function tokenizeBash(cmd: string): string[][];
/**
 * Classify the first simple command in a Bash string. Returns coarse metadata
 * (tool name, category, subcommand, human action) used for summaries and
 * activity logging. Unknown executables fall back to `other`.
 */
export declare function classifyBashCommand(command: string): BashCommandInfo;
/**
 * Stable bucket key for grouping similar Bash commands in summaries. Commands run
 * through a remote wrapper (ssh/scp/rsync) get an `ssh→` prefix on the inner key,
 * so `ssh host "git push"` buckets as `ssh→git push`, distinct from a local push.
 */
export declare function bucketKey(command: string): string;
/**
 * Detect high-signal Bash-driven milestones (video renders, upscales, metadata
 * edits, git commits/pushes/worktrees, PR opens). Returns null for routine
 * commands.
 */
export declare function detectBashMilestone(command: string): {
    event: string;
    detail: string;
} | null;
/**
 * Human-readable category label for renderers.
 */
export declare function categoryLabel(category: BashCategory): string;
