export interface SteroidsStatus { /** A `steroids` binary was found. */ installed: boolean; /** Installed, runs, and the corpus holds at least one repo. */ connected: boolean; version?: string; repos?: number; documents?: number; path?: string; /** Why the binary could not be probed (stderr line), if it was found. */ error?: string; } /** Same cap as upgrade.rs: applied to the download AND the inflated binary. */ export declare const MAX_ASSET_BYTES: number; /** Opts the CLI out of its own self-upgrade check on every invocation. Read per call so the PATH enrichment done at startup is picked up. */ export declare function steroidsEnv(): NodeJS.ProcessEnv; /** Where the desktop install lands; also the last place detection looks. */ export declare function defaultInstallDir(): string; /** * Locate the `steroids` binary: every PATH entry first (Cargo installs land * in ~/.cargo/bin, already on the enriched PATH), then ~/.gg/bin. `null` when * absent — callers hide the tool and drop the prompt sentence, never guess. */ export declare function findSteroidsBinary(opts?: { pathEnv?: string; installDir?: string; }): string | null; /** Run `--version` and `stats`; cached 30s per binary path. */ export declare function probeSteroids(opts?: { bin?: string | null; force?: boolean; }): Promise; /** Rust target triple for the release asset, or null when there is no build. */ export declare function releaseTarget(platform?: NodeJS.Platform, arch?: string): string | null; export declare const CARGO_FALLBACK = "No prebuilt Steroids binary for this platform. Install with: cargo install --git https://github.com/KenKaiii/agent-steroids"; /** Check `archive` against the SHA256SUMS line for `name`. */ export declare function verifySha256(archive: Uint8Array, sums: string, name: string): void; /** * The one executable inside a release tarball. Minimal ustar walk (512-byte * headers, octal size); the archive must hold exactly one regular file named * `steroids`/`steroids.exe` — anything else is rejected outright. */ export declare function extractBinary(archive: Uint8Array): Buffer; export interface InstallOptions { fetchFn?: typeof fetch; installDir?: string; platform?: NodeJS.Platform; arch?: string; /** Smoke test of the staged binary; tests inject one since fixtures can't run. */ probe?: (bin: string) => Promise; } /** * Download the latest release for this platform into `installDir`, verifying * it against the release's own SHA256SUMS before a single byte is written. * Resolves to a fresh probe of the installed binary. */ export declare function installSteroids(opts?: InstallOptions): Promise; //# sourceMappingURL=steroids.d.ts.map