import type { Command } from "../types.js";
import { clearCommandCache, getLoadedCommandCount } from "./lib.js";
/** All available built-in command names */
export type CommandName = "echo" | "cat" | "printf" | "ls" | "mkdir" | "rmdir" | "touch" | "rm" | "cp" | "mv" | "ln" | "chmod" | "pwd" | "readlink" | "head" | "tail" | "wc" | "stat" | "grep" | "fgrep" | "egrep" | "rg" | "sed" | "awk" | "sort" | "uniq" | "comm" | "cut" | "paste" | "tr" | "rev" | "nl" | "fold" | "expand" | "unexpand" | "strings" | "split" | "column" | "join" | "tee" | "find" | "basename" | "dirname" | "tree" | "du" | "env" | "printenv" | "alias" | "unalias" | "history" | "xargs" | "true" | "false" | "clear" | "bash" | "sh" | "jq" | "base64" | "diff" | "date" | "sleep" | "timeout" | "seq" | "expr" | "md5sum" | "sha1sum" | "sha256sum" | "file" | "html-to-markdown" | "help" | "which" | "tac" | "hostname" | "od" | "gzip" | "gunzip" | "zcat" | "tar" | "yq" | "xan" | "sqlite3" | "time" | "hello" | "whoami" | "git" | "ag-edit" | "ag-diff" | "ag-snapshot" | "ag-analyze" | "ag-find-symbol" | "ag-references" | "ag-mcp" | "ag-spawn" | "ag-wait" | "ag-list-agents" | "ag-hover" | "ag-explain" | "ag-todo" | "ag-convert" | "ag-plan" | "ag-notebook" | "ag-grep" | "ag-find-files" | "ag-task" | "ag-team" | "ag-message" | "ag-glob" | "ag-cron" | "ag-worktree" | "commands" | "about" | "doctor";
export type NetworkCommandName = "curl";
export type PythonCommandName = "python3" | "python";
export type JavaScriptCommandName = "js-exec" | "node";
export type AllCommandName = CommandName | NetworkCommandName | PythonCommandName | JavaScriptCommandName;
/**
 * Gets all available command names (excludes network commands)
 */
export declare function getCommandNames(): string[];
/**
 * Gets all network command names
 */
export declare function getNetworkCommandNames(): string[];
/**
 * Creates all lazy commands for registration
 */
export declare function createLazyCommands(filter?: CommandName[]): Command[];
/**
 * Creates network commands for registration
 */
export declare function createNetworkCommands(): Command[];
/**
 * Gets all python command names
 */
export declare function getPythonCommandNames(): string[];
/**
 * Creates python commands
 */
export declare function createPythonCommands(): Command[];
/**
 * Gets all javascript command names
 */
export declare function getJavaScriptCommandNames(): string[];
/**
 * Creates javascript commands
 */
export declare function createJavaScriptCommands(): Command[];
export { clearCommandCache, getLoadedCommandCount };
