/**
 * @fileoverview Static safety guards for user-supplied `nameRegex` filters.
 * JavaScript's RegExp engine has no native execution timeout, so we statically
 * reject the textbook catastrophic-backtracking shapes before calling
 * `new RegExp(...)`. Shared by tools that post-filter upstream listings by
 * name (`obsidian_list_tags`, `obsidian_list_commands`).
 * @module mcp-server/tools/definitions/_shared/regex-safety
 */
/** Maximum allowed pattern length — bounds compile cost and AST surface. */
export declare const NAME_REGEX_MAX_LENGTH = 256;
/**
 * Returns a human-readable reason string when the pattern is unsafe, or
 * `undefined` when it passes the static guards. Callers compile with
 * `new RegExp(pattern)` after this returns `undefined` and surface the
 * returned reason via the tool's `regex_unsafe` error.
 */
export declare function nameRegexSafetyIssue(pattern: string): string | undefined;
//# sourceMappingURL=regex-safety.d.ts.map