import * as os from 'node:os';
/**
 * Stable user-level directory we expose on PATH via `pantry shell-init`.
 * Mirrors the Zig CLI's `$HOME/.local/share/pantry/global/bin` convention so
 * both installers can share a single location.
 */
export declare function globalBinDir(): string;
// ── Platform Detection ──
export declare function detectPlatform(): Platform;
/**
 * Install a system package by downloading from its official source.
 * Works cross-platform using only Node.js APIs.
 */
export declare function installPackage(domain: string, version: string, options?: InstallOptions): Promise<InstallResult>;
/**
 * Install multiple packages in parallel.
 */
export declare function installPackages(packages: Array<{ domain: string, version: string }>, options?: InstallOptions): Promise<InstallResult[]>;
/**
 * Resolve 'latest' version for known packages.
 */
export declare function resolveLatestVersion(domain: string): Promise<string>;
/**
 * Check if a package domain has a known resolver.
 */
export declare function isSupported(domain: string): boolean;
/**
 * Get list of all supported package domains.
 */
export declare function supportedPackages(): string[];
/**
 * Get the primary binary name for a supported package domain.
 * Returns the first non-Windows binary (e.g. 'bun' for 'bun.sh', 'zig' for 'ziglang.org').
 */
export declare function getPrimaryBinary(domain: string): string | undefined;
// ── Types ──
export declare interface Platform {
  os: 'darwin' | 'linux' | 'windows'
  arch: 'x86_64' | 'aarch64'
}
export declare interface InstallOptions {
  installDir?: string
  platform?: Platform
  createBinLinks?: boolean
  quiet?: boolean
  globalBin?: boolean | string
}
export declare interface InstallResult {
  name: string
  version: string
  installPath: string
  binaries: string[]
  globalLinks?: string[]
}
