import { Type } from "typebox"; /** * Device pairing and token-management protocol schemas. * * These payloads cross the gateway approval boundary, so request ids and device * ids stay explicit and feature handlers own the authorization checks. */ /** Lists pending and approved device pairing records. */ export declare const DevicePairListParamsSchema: Type.TObject<{}>; /** Approves a pending pairing request by request id. */ export declare const DevicePairApproveParamsSchema: Type.TObject<{ requestId: Type.TString; }>; /** Rejects a pending pairing request by request id. */ export declare const DevicePairRejectParamsSchema: Type.TObject<{ requestId: Type.TString; }>; /** Removes an approved or remembered device by device id. */ export declare const DevicePairRemoveParamsSchema: Type.TObject<{ deviceId: Type.TString; }>; /** Rotates or issues a device token for a specific role/scope grant. */ export declare const DeviceTokenRotateParamsSchema: Type.TObject<{ deviceId: Type.TString; role: Type.TString; scopes: Type.TOptional>; }>; /** Revokes one role-bound device token grant. */ export declare const DeviceTokenRevokeParamsSchema: Type.TObject<{ deviceId: Type.TString; role: Type.TString; }>; /** Event emitted when a client opens or refreshes a pairing request. */ export declare const DevicePairRequestedEventSchema: Type.TObject<{ requestId: Type.TString; deviceId: Type.TString; publicKey: Type.TString; displayName: Type.TOptional; platform: Type.TOptional; deviceFamily: Type.TOptional; clientId: Type.TOptional; clientMode: Type.TOptional; role: Type.TOptional; roles: Type.TOptional>; scopes: Type.TOptional>; remoteIp: Type.TOptional; silent: Type.TOptional; isRepair: Type.TOptional; ts: Type.TInteger; }>; /** Event emitted after a pairing request is approved, rejected, or otherwise resolved. */ export declare const DevicePairResolvedEventSchema: Type.TObject<{ requestId: Type.TString; deviceId: Type.TString; decision: Type.TString; ts: Type.TInteger; }>; /** * Generates a device-pairing setup code (and optional QR) so a mobile/companion * client can scan it and connect to this gateway. The embedded setup code mints * a short-lived bootstrap token that hands off broad operator scopes * (read/write/approvals/talk.secrets), so this method requires operator.admin * (enforced by the core method descriptor's method-scope policy, not the handler) * and is not advertised. */ export declare const DevicePairSetupCodeParamsSchema: Type.TObject<{ publicUrl: Type.TOptional; preferRemoteUrl: Type.TOptional; includeQr: Type.TOptional; }>; /** * Setup code plus non-secret connection metadata. `auth` is a label only * ("token" | "password"); the gateway credential itself is never returned. */ export declare const DevicePairSetupCodeResultSchema: Type.TObject<{ setupCode: Type.TString; qrDataUrl: Type.TOptional; gatewayUrl: Type.TString; gatewayUrls: Type.TOptional>; auth: Type.TUnion<[Type.TLiteral<"token">, Type.TLiteral<"password">]>; urlSource: Type.TString; }>;