import type { RedirectResult } from '../../../../context/session_context.ts';
import type { SessionView } from '../../../../view/types.ts';
import { type SessionState } from '../../../session/session.ts';
import type { BuiltinCall } from '../types.ts';
/**
 * Unset shell variables, arrays, or functions, with bash's flags.
 *
 * `-v` targets a variable only, `-f` a function only, and a bare name a
 * variable if one exists or else a function. A `name[idx]` operand clears
 * one element; the readonly guard resolves it to the base name first,
 * since that is what `readonly` records. `-n` unsets a name reference
 * itself, where a bare name unsets what the reference points at.
 */
export declare function handleUnset(args: string[], session: SessionState, state?: SessionView | null): Promise<RedirectResult>;
/** The `unset` arm. */
export declare function unsetBuiltin(call: BuiltinCall): Promise<RedirectResult>;
//# sourceMappingURL=unset.d.ts.map