import * as FileSystem from "effect/FileSystem"; import * as Path from "effect/Path"; import * as Effect from "effect/Effect"; /** * Result of a createSymlink operation. * * - `"created"` — new symlink was created * - `"replaced"` — existing wrong symlink/directory was replaced * - `"no-op"` — existing symlink already points to the correct target * - `"skipped"` — self-reference detected (link and target resolve to same path) */ export type SymlinkResult = "created" | "replaced" | "no-op" | "skipped"; /** * Creates a relative symlink from `link` to `target`, handling the full * symlink lifecycle: self-reference detection, existing link inspection, * ELOOP recovery, directory replacement, and parent directory creation. * * Relative paths are computed using resolved parent directories to handle * cases where parent directories are themselves symlinks. */ export declare const createSymlink: (opts: { readonly target: string; readonly link: string; }) => Effect.Effect<"created" | "skipped" | "replaced" | "no-op", import("../app-error/app-error.ts").AppError, Path.Path | FileSystem.FileSystem>; //# sourceMappingURL=create-symlink.d.ts.map