import type { ResolvedField, ResolvedFieldDeferredSegment } from '../plan/resolved-field.js'; import { type ShellUnsafeRegion } from './shell-quoting.js'; export declare const unsafeRunInterpolationErrorCode = "unsafe-run-interpolation"; export interface RunCommandHoistOptions { readonly reservedNames?: Iterable; } export interface PlannedRunCommandBinding { readonly name: string; readonly segment: ResolvedFieldDeferredSegment; } export interface HoistedPlannedRunCommand { readonly command: string; readonly bindings: readonly PlannedRunCommandBinding[]; } export interface UnsafeRunInterpolation { readonly region: ShellUnsafeRegion; readonly source: string; } export declare class UnsafeRunInterpolationError extends Error { readonly code = "unsafe-run-interpolation"; readonly occurrences: readonly UnsafeRunInterpolation[]; readonly partial: HoistedPlannedRunCommand | undefined; readonly region: ShellUnsafeRegion; readonly source: string; constructor(params: { readonly region: ShellUnsafeRegion; readonly source: string; readonly occurrences?: readonly UnsafeRunInterpolation[]; readonly partial?: HoistedPlannedRunCommand; }); } /** * Hoists unfilled planned run-command segments into generated shell env * references. Literal segments are trusted authored shell text; only call this * on planned command fields that have not already been filled. */ export declare function hoistPlannedRunCommand(params: { readonly field: ResolvedField; readonly reservedNames?: Iterable; }): HoistedPlannedRunCommand; //# sourceMappingURL=hoist-run-command.d.ts.map