/** * The signature a Personal Server's owner makes over this exact message. The * server recovers its owner from it and derives the data encryption key from * it, so it is as sensitive as a key. */ export declare const OWNER_BINDING_MESSAGE = "vana-master-key-v1"; export declare const OWNER_BINDING_INTENT = "personal_server.owner_binding.v1"; export interface OwnerBinding { signature: string; signerAddress: string; /** * Account's proof that this owner approved this client, needed later to * register the server. Present for public native clients such as the CLI. */ trustToken: string | null; } export interface OwnerBindingDeps { fetchImpl?: typeof fetch; openBrowser: (url: string) => void; /** Called with the confirmation URL, so a person can open it by hand. */ onConfirmationUrl?: (url: string) => void; timeoutMs?: number; } /** What Account returns when an exchange is redeemed. */ export interface RedeemedExchange { status?: string; signature?: string; signerAddress?: string; desktopSigningTrustToken?: string; typedData?: unknown; } /** * Run one Account signing exchange: the person confirms in the browser, and * the result comes back to a one-time loopback listener, bound to this * process by state and PKCE. `step` names the request in error messages. */ export declare function runSigningExchange(input: { accountUrl: string; accessToken: string; intent: string; payload?: Record; step: string; }, deps: OwnerBindingDeps): Promise; /** * Get the owner-binding signature through Account's signing exchange: Account * never signs it silently for the CLI, so the person confirms in the browser. */ export declare function runOwnerBindingExchange(input: { accountUrl: string; accessToken: string; }, deps: OwnerBindingDeps): Promise; export declare function describeFailure(step: string, response: Response): Promise; //# sourceMappingURL=owner-binding.d.ts.map