import type { Host } from "../host/host.js"; /** * The allow-list a program sets on itself: assert that `target` resolves * inside at least one of `allowedRoots`. Both sides are realpathed by * the host, so a target that reaches an allowed root only through a * symlink is judged by where it lands. * * Empty `allowedRoots` means no restriction, kept on purpose so adding * this check to a helper is additive. A non-empty list whose entries are * all blank throws rather than degrading to no restriction. * * Both target and roots resolve against the same `baseDir`, so a relative * entry such as `allowedPaths: ["src/"]` means the same directory the * tool is operating in. Each entry goes through `expandPath`, so * `allowedPaths: ["~/proj"]` matches paths under the home directory. */ export declare function assertContained(host: Host, target: string, allowedRoots: string[], baseDir?: string): Promise;