export type Platform = "darwin-arm64" | "darwin-x64" | "win32-x64" | "linux-x64"; export interface PlatformInfo { /** GitHub release asset identifier, e.g. "darwin-arm64". */ asset: string; /** Archive extension: "tar.gz" for darwin/linux, "zip" for windows. */ archive: "tar.gz" | "zip"; /** Binary filename inside the archive: "monk-router" or "monk-router.exe". */ binary: string; } /** * Map a Node.js (process.platform, process.arch) pair to a supported Monk * Router platform identifier. Throws if the combination is unsupported. */ export declare function detectPlatform(nodePlatform: string, nodeArch: string): Platform; /** * Get the PlatformInfo (archive type, binary name) for a platform. */ export declare function platformInfo(p: Platform): PlatformInfo; /** * The GitHub repository that hosts releases. Exported so tests can override * via module-level mocking rather than network interception. */ export declare const GITHUB_REPO = "themonk-ai/router"; /** * Construct the GitHub Releases download URL for a given version + platform. * * URL pattern: * https://github.com/{repo}/releases/download/v{version}/monk-router-{asset}.{archive} * * @param version semver version WITHOUT the leading "v" (e.g. "0.1.0") * @param platform target platform */ export declare function binaryUrl(version: string, platform: Platform): string; /** * Construct the GitHub Releases download URL for the embedding model archive. * The model archive is platform-independent (same tar.gz for all platforms). * * URL pattern: * https://github.com/{repo}/releases/download/v{version}/model-jina-embeddings-v2-base-code.tar.gz * * @param version semver version WITHOUT the leading "v" (e.g. "0.1.0") */ export declare function modelUrl(version: string): string; /** * The model archive filename (used for checksum/signature verification). */ export declare const MODEL_ARCHIVE = "model-jina-embeddings-v2-base-code.tar.gz";