/** * `loopsy relay` and `loopsy mobile pair` commands. * * loopsy relay configure register this device with the relay, * store {url, deviceId, deviceSecret} * in ~/.loopsy/config.yaml * loopsy relay show print current relay config (secret masked) * loopsy relay unset remove relay config * loopsy mobile pair fetch a one-time pair token + render QR */ import type { RelayConfig } from '@loopsy/protocol'; /** * POST /device/register on the chosen relay URL. Returns a fully-formed * RelayConfig the caller can drop into ~/.loopsy/config.yaml. * * The relay echoes back a `relay_url` in the response (today it's literally * the request origin per packages/relay/src/index.ts:211, but a self-hosted * deployment behind a CF custom-domain rewrite or redirect could legitimately * canonicalize it). We trust the relay's response — this is a v1 trust call, * not a security boundary; a network MITM would intercept TLS itself, and * pinning the user-supplied URL would break legitimate canonicalization. */ export declare function registerWithRelay(rawUrl: string): Promise; export declare function relayConfigureCommand(argv: { url: string; }): Promise; export declare function relayShowCommand(): Promise; export declare function relayUnsetCommand(): Promise; export declare function mobilePairCommand(argv: { ttl?: number; multiUse?: boolean; qrPng?: string; relayUrl?: string; usePublicRelay?: boolean; }): Promise; /** CSO #8: list phones currently paired to this device. */ export declare function phoneListCommand(): Promise; /** CSO #8: revoke a paired phone. */ export declare function phoneRevokeCommand(argv: { phoneId: string; }): Promise; //# sourceMappingURL=relay.d.ts.map