/** * Absolute path to THIS running `@levo-so/client` package's root. * * Resolves via `import.meta.url` so it points at wherever the executing * script lives. For `bunx`/`npx` invocations this is the ephemeral cache * (e.g. `/tmp/bunx-...-@levo-so/client@latest/node_modules/@levo-so/client`); * for local installs it's the real `node_modules` entry. * * Use ONLY for reading the SDK's own files (its `package.json` for the * version banner). NEVER for writing user-facing output — see * `getUserProjectPackageRoot` for that. */ export declare const getPackageRoot: () => string; /** * Absolute path to the `@levo-so/client` install inside the USER'S project. * * Walks up from `process.cwd()` looking for `node_modules/@levo-so/client`. * This handles both plain installs and monorepo hoisting (pnpm workspaces, * yarn/bun workspaces where the package lands at the repo root). * * Why this matters: `bunx`/`npx` install the CLI into an ephemeral temp dir * that gets wiped after the command exits. If we wrote generated types via * `import.meta.url`, they'd land in that tmp dir and vanish. The user runs * the CLI from their project root, so `process.cwd()` is the correct anchor. * * Returns `null` when no install is found (e.g. the user ran `bunx` without * actually depending on the package — in which case the CLI should tell them * to `bun add @levo-so/client` so the types have somewhere to live). */ export declare const getUserProjectPackageRoot: () => string | null;