/** * The tunnel client the Personal Server runs to get its public URL. Same * version the pinned server would download for itself. */ export declare const FRPC_VERSION = "0.67.0"; /** The Apple team that signs the CLI and Vana Desktop. */ export declare const VANA_APPLE_TEAM_ID = "G7QNBSSW44"; interface FrpcArtifact { url: string; sha256: string; /** The binary's path inside the archive. */ entry: string; } /** * Pinned downloads per platform. A Mac never gets upstream's build: it is * ad-hoc signed, and endpoint security on managed Macs treats an ad-hoc * binary run from the home directory as persistence. Macs download the copy * the sign-frpc workflow signed and notarized with Vana's Developer ID. */ export declare const FRPC_ARTIFACTS: Record; /** Where Vana Desktop ships its signed frpc. */ export declare const DESKTOP_FRPC_PATHS: string[]; export type FrpcResolution = { kind: "ready"; path: string; source: "env" | "managed" | "desktop"; } | { kind: "installable"; } | { kind: "unavailable"; reason: string; }; export interface FrpcDeps { env: NodeJS.ProcessEnv; platform: NodeJS.Platform; arch: string; managedDir: string; desktopPaths: string[]; /** True when `file` carries a valid signature from `teamId`. */ signedByTeam: (file: string, teamId: string) => Promise; } export declare function managedFrpcDir(): string; export declare function signedByTeam(file: string, teamId: string): Promise; /** * Find a tunnel client this machine may run, without downloading anything. * `VANA_FRPC_PATH` wins; then the CLI's own verified install; then, on a * Mac, Vana Desktop's copy when it carries Vana's signature, which saves a * download. */ export declare function resolveFrpc(overrides?: Partial): Promise; /** * Download the pinned frpc for this platform, check its sha256, and install * it under ~/.vana/cli/personal-server/frpc/. */ export declare function installFrpc(logPath: string, overrides?: Partial & { fetchImpl?: typeof fetch; }): Promise; export {}; //# sourceMappingURL=frpc.d.ts.map