import { spawn } from '@socketsecurity/registry/lib/spawn'; import type { SpawnExtra, SpawnOptions } from '@socketsecurity/registry/lib/spawn'; export interface DlxBinaryOptions { /** URL to download the binary from. */ url: string; /** Optional name for the cached binary (defaults to URL hash). */ name?: string; /** Expected checksum (sha256) for verification. */ checksum?: string; /** Cache TTL in milliseconds (default: 7 days). */ cacheTtl?: number; /** Force re-download even if cached. */ force?: boolean; /** Platform override (defaults to current platform). */ platform?: NodeJS.Platform; /** Architecture override (defaults to current arch). */ arch?: string; /** Additional spawn options. */ spawnOptions?: SpawnOptions; } export interface DlxBinaryResult { /** Path to the cached binary. */ binaryPath: string; /** Whether the binary was newly downloaded. */ downloaded: boolean; /** The spawn promise for the running process. */ spawnPromise: ReturnType['promise']; } /** * Clean expired entries from the DLX cache. */ export declare function cleanDlxCache(maxAge?: number): Promise; /** * Download and execute a binary from a URL with caching. */ export declare function dlxBinary(args: string[] | readonly string[], options?: DlxBinaryOptions | undefined, spawnExtra?: SpawnExtra | undefined): Promise; /** * Get the DLX binary cache directory path. */ export declare function getDlxCachePath(): string; /** * Get the base .socket directory path. * Uses %USERPROFILE% on Windows, $HOME on POSIX systems. */ export declare function getSocketHomePath(): string; /** * Get information about cached binaries. */ export declare function listDlxCache(): Promise>; //# sourceMappingURL=dlx-binary.d.mts.map