import { type SyncOptions as ExecaSyncOptions, type ExecaSyncReturnValue, type Options as ExecaOptions, type ExecaChildProcess } from "execa"; /** Detect if sudo is available */ export declare function hasSudo(): boolean; /** * Detect if the process has root privilege on Posix. * * @example * * ```js * import { isRoot } from "admina" * * console.log(isRoot()) * //=> false * ``` * * @returns Whether the process is running as root. */ export declare function isRoot(): boolean; /** Detect if sudo is available and the user has root privileges */ export declare function isSudo(): boolean; /** Prepend `sudo` to the command if sudo is available */ export declare function prependSudo(command: string): string; /** Default exec options `{ stdio: "inherit", shell: true }` */ export declare const defaultExecOptions: ExecaSyncOptions; /** * Execute a command as root if sudo is available. Otherwise executes the command normally without sudo. * * @param program The program to spawn * @param args The command arguments * @param execOptions The options passed to `execa`. Defaults to `{ stdio: "inherit", shell: true }` * @returns The execution result */ export declare function execRootSync(program: string, args?: string[], execOptions?: ExecaSyncOptions): ExecaSyncReturnValue; /** * Asynchronously execute a command as root if sudo is available. Otherwise executes the command normally without sudo. * * @param program The program to spawn * @param args The command arguments * @param execOptions The options passed to `execa`. Defaults to `{ stdio: "inherit", shell: true }` * @returns A promise to the execution result */ export declare function execRoot(program: string, args?: string[], execOptions?: ExecaOptions): ExecaChildProcess;