import type { Session } from '../../../session/session.ts'; import type { BuiltinCall, Result } from '../types.ts'; /** Render a mask the way `umask -S` does: the bits it leaves on. */ export declare function symbolicUmask(mask: number): string; /** * The mask a `umask` operand names, or the error bash prints for it. * An all-digit operand is octal, refused with `octal number out of * range` when it holds an 8 or 9 and clamped to 0777 when octal but too * large; anything else is a symbolic clause list applied to the * permissions the current mask leaves on. The two symbolic refusals are * told apart: a letter outside `ugoa` where an operator was expected is * `invalid symbolic mode operator`, one outside `rwx` after it is * `invalid symbolic mode character`. */ export declare function parseUmask(text: string, current: number): number | string; /** * Print or set the session's file-creation mask. Octal by default, * symbolic under `-S`, re-readable under `-p`; with one operand it is * set for the rest of the shell (a subshell gets its own copy). Extra * operands are ignored, an unknown option is exit 2, a bad mode exit 1 * with the mask unchanged. */ export declare function handleUmask(args: string[], session: Session): Result; /** The `umask` arm. */ export declare function umaskBuiltin(call: BuiltinCall): Promise; //# sourceMappingURL=umask.d.ts.map