import type { PathSpec } from '../../types.ts'; export declare const UNSUPPORTED_BUILTINS: ReadonlySet; export declare const NAMESPACE_COMMANDS: ReadonlySet; export declare const KEYWORDS: ReadonlySet; export declare const JOB_BUILTINS: ReadonlySet; export declare function dereferences(name: string, words: readonly (string | PathSpec)[]): boolean; export declare function walksMounts(name: string, words: readonly (string | PathSpec)[]): boolean; export declare function readsSubtrees(name: string, words: readonly (string | PathSpec)[]): boolean; export declare const SLASH_KEEPS_LAST: ReadonlySet; export declare function followsLastComponent(name: string, words: readonly (string | PathSpec)[]): boolean; /** * Insert POSIX's `--` after a program-carrying option's value. * * The handoff already has a spelling every parser honors, so the rule is * applied by writing one down rather than by teaching the parser a new * kind of option. The marker is inserted unconditionally, never skipped * because the line already carries one: CPython stops parsing at -c and * passes a later `--` through as data (`python3 -c p -- -u` gives the * program `['-c', '--', '-u']`), so the parser must consume exactly the * one added here and leave any typed one alone. * * Only the option run before the first operand is scanned. A -c after an * operand belongs to the program (`python3 s.py -c x`), and the operand * already ended option parsing by itself. * * The scan walks a short cluster letter by letter rather than matching * the word's prefix, because the carrier need not be first: CPython * reads `python3 -uc 'p' -v` and `python3 -uc'p' -v` the same way it * reads the unclustered forms, handing `-v` to the program. */ export declare function endOptionsAfterProgram(name: string, words: string[]): string[]; export declare const SHELL_NAMES: ReadonlySet; //# sourceMappingURL=constants.d.ts.map