/** * `vana app register` - idempotent builder registration at the gateway. * * Resolves the app key (generating one on first use), checks the gateway * first and exits 0 when the app is already registered, otherwise signs the * EIP-712 BuilderRegistration and posts it. Safe at the top of any script. */ import { type GatewayClient } from "@opendatalabs/vana-sdk"; import { resolveAppKey, type ResolvedAppKey } from "../../core/app-key.js"; import { type ResolvedNetwork } from "../../core/network.js"; import { saveAppProfile } from "../../core/app-profile.js"; import { type AppCommandOptions } from "./outcome.js"; export interface RegisterCommandOptions extends AppCommandOptions { /** Public URL of the app; the gateway stores it on the record. */ appUrl?: string; /** Name people see when this app asks for access; remembered locally. */ appName?: string; } export interface RegisterDeps { createClient?: (gatewayUrl: string) => GatewayClient; resolveKey?: typeof resolveAppKey; saveProfile?: typeof saveAppProfile; } export declare function builderRegistrationDomainFor(network: ResolvedNetwork): { readonly name: "Vana Data Portability"; readonly version: "1"; readonly chainId: bigint; readonly verifyingContract: `0x${string}`; }; export declare function signBuilderRegistration(key: ResolvedAppKey, network: ResolvedNetwork, appUrl: string): Promise<{ ownerAddress: string; granteeAddress: string; publicKey: string; appUrl: string; signature: string; }>; export declare function runAppRegister(options: RegisterCommandOptions, deps?: RegisterDeps): Promise; //# sourceMappingURL=register.d.ts.map