export declare const RUN_ID_RE: RegExp; export declare function parseDuration(input: string): number; export declare function validatePath(filePath: string, projectRoot: string): string; export declare function generateRunId(): string; export declare function assertValidRunId(runId: string): void; export declare function truncateForName(text: string, maxLen?: number): string; export declare function nowISO(): string; export declare function shellArgs(command: string): readonly string[]; export declare class UnsafeShellQuoteError extends Error { constructor(message: string); } /** * Quote `value` for safe inclusion in a shell command string under the * shell that runtime-bun's `runCommand` will actually launch on this host * (`PIPELINE_SHELL` override → cmd / PowerShell on Windows → sh on POSIX). * * Used by `{{inputs.X | shellquote}}` placeholder expansion: the same * escaping the runner already uses to wrap argv arrays into a shell string, * applied consistently to user inputs the YAML author interpolates by hand. * * Tying this to the actual launching shell rather than `process.platform` * matters because POSIX `'foo'\''bar'` and PowerShell `'foo''bar'` are * mutually unsafe — picking the wrong one re-opens the injection hole the * filter is supposed to close. */ export declare function shellQuoteForActiveShell(value: string): string; /** * Convert an args array to shell-wrapped args suitable for Bun.spawn. * Each arg is quoted as needed, then joined and passed through shellArgs. */ export declare function shellArgsFromArray(args: readonly string[]): readonly string[]; export declare function _resetShellCache(): void; //# sourceMappingURL=utils.d.ts.map