/**
 * Read the package version from the nearest package.json.
 * Uses a recover fallback of `0.0.0` when the file is absent or unreadable so help output still renders.
 *
 * @returns package version string, or `0.0.0` when unavailable
 */
export declare function getPackageVersion(): string;
/**
 * Resolve a relative template path to an absolute path within goat-flow.
 *
 * @param relative - package-relative template or workflow path
 * @returns absolute path inside the resolved goat-flow package root
 */
export declare function getTemplatePath(relative: string): string;
/**
 * Resolve the first existing goat-flow path from a priority-ordered list.
 * Throws when none exist so callers do not silently use a missing template.
 *
 * @param relatives - package-relative candidate paths in preference order
 * @returns absolute path for the first candidate present on disk
 */
export declare function resolveFirstExistingPackagePath(relatives: readonly string[]): string;
/**
 * Build the absolute CLI command used to run goat-flow from any project.
 * Returns a forward-slash path so it renders cleanly in user-visible setup
 * prompts and is identically callable from PowerShell, CMD, and Bash on
 * Windows, where Node accepts forward slashes everywhere argv-style.
 *
 * @returns shell-safe `node .../dist/cli/cli.js` command string
 */
export declare function getCliCommand(): string;
/**
 * Detect whether goat-flow is running from a packaged install rather than a source
 * checkout. `package.json` `files` ships only `dist/` + `workflow/` plus a small
 * set of runtime helpers, so consumer environments do not have `src/` or
 * `.goat-flow/*` present. Code that reads source files at runtime, or validates
 * evidence_paths that point at framework-repo docs, must gate on this to avoid
 * spurious failures on consumer installs.
 *
 * @returns true - when packaged-mode override is set or source dashboard files are absent
 */
export declare function isPackagedInstall(): boolean;
//# sourceMappingURL=paths.d.ts.map