/** * offer-copy.ts, plain-language copy for the pairing offer set, the one * honest LAN-posture line, and the labeled browser-capability list. * * Each offer names, in plain terms, what accepting it does and what declining it * costs, no security jargon, just the concrete consequence. Every offer is * independently declinable; a pairing without any accepted offer still pairs the * device (it just signs in with none of the extras). * * The one honest LAN line and the per-capability availability both come from * the posture (describeOriginPosture / the `posture` field on a handoff), so * every surface renders the SAME truth: the exact LAN_PLAIN_HTTP_NOTICE wording * only when the posture carries it, and each browser-gated capability labeled * with whether the paired device gets it (and why not, when it does not). */ import type { BrowserGatedCapability, OriginPosture } from './origin-posture.js'; import type { PairingHandoffOfferKind } from './pairing-handoff.js'; export interface PairingOfferCopy { readonly title: string; /** One plain-language line: what accepting does, and what declining leaves you with. */ readonly consequence: string; } export declare const PAIRING_OFFER_COPY: Record; /** The offer set as `label, consequence` lines, in the given order. */ export declare function formatPairingOffers(offers: readonly PairingHandoffOfferKind[]): string[]; /** * Plain-language label for each browser-gated capability the posture reports, * what the paired device would actually get, named without jargon. */ export declare const POSTURE_CAPABILITY_LABEL: Record; /** * The one honest LAN line to render, or null. This is the SDK posture's own * `notice` field verbatim (LAN_PLAIN_HTTP_NOTICE), present ONLY for the * plain-http-on-LAN posture, absent (and so never a nag) everywhere else. */ export declare function pairingPostureNotice(posture: OriginPosture | undefined): string | null; /** * The labeled capability list from the posture: each browser-gated capability as * a `Label, available` / `Label, ` line, so the pairing surface lists * what the paired device will get instead of hiding a dead button. Empty when no * posture is known. */ export declare function formatPostureCapabilities(posture: OriginPosture | undefined): string[]; //# sourceMappingURL=offer-copy.d.ts.map