/** * TypeBox schema definitions for the Signal K BLE API. * * These schemas are the source of truth for both OpenAPI generation * and runtime request validation. */ import { type Static } from '@sinclair/typebox'; /** A MAC address path/query parameter. */ export declare const BLEMacParamSchema: import("@sinclair/typebox").TString; /** A single BLE device in a gateway advertisement batch. */ export declare const BLEGatewayDeviceSchema: import("@sinclair/typebox").TObject<{ mac: import("@sinclair/typebox").TString; rssi: import("@sinclair/typebox").TNumber; name: import("@sinclair/typebox").TOptional; adv_data: import("@sinclair/typebox").TOptional; scan_rsp_data: import("@sinclair/typebox").TOptional; address_type: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"random">]>>; manufacturer_data: import("@sinclair/typebox").TOptional>; service_data: import("@sinclair/typebox").TOptional>; service_uuids: import("@sinclair/typebox").TOptional>; connectable: import("@sinclair/typebox").TOptional; tx_power: import("@sinclair/typebox").TOptional; }>; /** Advertisement batch POST body from a remote BLE gateway. */ export declare const BLEGatewayAdvertisementBatchSchema: import("@sinclair/typebox").TObject<{ gateway_id: import("@sinclair/typebox").TString; devices: import("@sinclair/typebox").TArray; adv_data: import("@sinclair/typebox").TOptional; scan_rsp_data: import("@sinclair/typebox").TOptional; address_type: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"random">]>>; manufacturer_data: import("@sinclair/typebox").TOptional>; service_data: import("@sinclair/typebox").TOptional>; service_uuids: import("@sinclair/typebox").TOptional>; connectable: import("@sinclair/typebox").TOptional; tx_power: import("@sinclair/typebox").TOptional; }>>; firmware: import("@sinclair/typebox").TOptional; mac: import("@sinclair/typebox").TOptional; hostname: import("@sinclair/typebox").TOptional; uptime: import("@sinclair/typebox").TOptional; free_heap: import("@sinclair/typebox").TOptional; }>; /** Per-provider signal-strength record for a single device. */ export declare const BLESeenBySchema: import("@sinclair/typebox").TObject<{ providerId: import("@sinclair/typebox").TString; rssi: import("@sinclair/typebox").TNumber; lastSeen: import("@sinclair/typebox").TNumber; }>; /** Unified view of a BLE device across all providers. */ export declare const BLEDeviceInfoSchema: import("@sinclair/typebox").TObject<{ mac: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TOptional; rssi: import("@sinclair/typebox").TNumber; lastSeen: import("@sinclair/typebox").TNumber; connectable: import("@sinclair/typebox").TBoolean; seenBy: import("@sinclair/typebox").TArray>; gattClaimedBy: import("@sinclair/typebox").TOptional>; addressType: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"random">]>>; }>; /** A single BLE advertisement received by a provider. */ export declare const BLEAdvertisementSchema: import("@sinclair/typebox").TObject<{ mac: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TOptional; rssi: import("@sinclair/typebox").TNumber; manufacturerData: import("@sinclair/typebox").TOptional>; serviceData: import("@sinclair/typebox").TOptional>; serviceUuids: import("@sinclair/typebox").TOptional>; providerId: import("@sinclair/typebox").TString; timestamp: import("@sinclair/typebox").TNumber; connectable: import("@sinclair/typebox").TOptional; txPower: import("@sinclair/typebox").TOptional; addressType: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"random">]>>; }>; export declare const BLEConsumerInfoSchema: import("@sinclair/typebox").TObject<{ pluginId: import("@sinclair/typebox").TString; advertisementSubscriber: import("@sinclair/typebox").TBoolean; gattClaims: import("@sinclair/typebox").TArray; }>; export declare const BLEGattSlotsSchema: import("@sinclair/typebox").TObject<{ total: import("@sinclair/typebox").TNumber; available: import("@sinclair/typebox").TNumber; }>; export declare const BLEGatewayInfoSchema: import("@sinclair/typebox").TObject<{ gatewayId: import("@sinclair/typebox").TString; providerId: import("@sinclair/typebox").TString; online: import("@sinclair/typebox").TBoolean; ipAddress: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; mac: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; hostname: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; firmware: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; connectedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>; disconnectedAt: import("@sinclair/typebox").TOptional; uptime: import("@sinclair/typebox").TOptional; freeHeap: import("@sinclair/typebox").TOptional; gattSlots: import("@sinclair/typebox").TObject<{ total: import("@sinclair/typebox").TNumber; available: import("@sinclair/typebox").TNumber; }>; deviceCount: import("@sinclair/typebox").TNumber; }>; export declare const BLEProviderInfoSchema: import("@sinclair/typebox").TObject<{ name: import("@sinclair/typebox").TString; supportsGATT: import("@sinclair/typebox").TBoolean; gattSlots: import("@sinclair/typebox").TObject<{ total: import("@sinclair/typebox").TNumber; available: import("@sinclair/typebox").TNumber; }>; gateway: import("@sinclair/typebox").TOptional; board: import("@sinclair/typebox").TOptional; firmware: import("@sinclair/typebox").TOptional; uptime: import("@sinclair/typebox").TOptional; ip: import("@sinclair/typebox").TOptional; transport: import("@sinclair/typebox").TOptional; }>>; }>; export declare const BLEProvidersSchema: import("@sinclair/typebox").TRecord; gateway: import("@sinclair/typebox").TOptional; board: import("@sinclair/typebox").TOptional; firmware: import("@sinclair/typebox").TOptional; uptime: import("@sinclair/typebox").TOptional; ip: import("@sinclair/typebox").TOptional; transport: import("@sinclair/typebox").TOptional; }>>; }>>; export declare const BLESettingsResponseSchema: import("@sinclair/typebox").TObject<{ localBluetoothManaged: import("@sinclair/typebox").TBoolean; localAdapters: import("@sinclair/typebox").TArray; localMaxGATTSlots: import("@sinclair/typebox").TNumber; localBLESupported: import("@sinclair/typebox").TBoolean; activeAdapters: import("@sinclair/typebox").TArray; adapterErrors: import("@sinclair/typebox").TRecord; }>; export declare const BLESettingsRequestSchema: import("@sinclair/typebox").TObject<{ localBluetoothManaged: import("@sinclair/typebox").TOptional; localAdapters: import("@sinclair/typebox").TOptional>; localMaxGATTSlots: import("@sinclair/typebox").TOptional; }>; export declare const BLEDefaultProviderSchema: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>; export declare const BLEGattClaimStatusSchema: import("@sinclair/typebox").TObject<{ claimedBy: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>; export declare const BLEGatewayHelloSchema: import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"hello">; gateway_id: import("@sinclair/typebox").TString; max_gatt_connections: import("@sinclair/typebox").TOptional>; active_gatt_connections: import("@sinclair/typebox").TOptional>; firmware: import("@sinclair/typebox").TOptional>; mac: import("@sinclair/typebox").TOptional>; hostname: import("@sinclair/typebox").TOptional>; }>; export declare const BLEGattSubscribeCommandSchema: import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_subscribe">; session_id: import("@sinclair/typebox").TString; mac: import("@sinclair/typebox").TString; service: import("@sinclair/typebox").TString; notify: import("@sinclair/typebox").TOptional>; poll: import("@sinclair/typebox").TOptional; }>>>; init: import("@sinclair/typebox").TOptional; }>>>; periodic_write: import("@sinclair/typebox").TOptional; }>>>; }>; export declare const BLEGattWriteCommandSchema: import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_write">; session_id: import("@sinclair/typebox").TString; uuid: import("@sinclair/typebox").TString; data: import("@sinclair/typebox").TString; with_response: import("@sinclair/typebox").TOptional; }>; export declare const BLEGattCloseCommandSchema: import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_close">; session_id: import("@sinclair/typebox").TString; }>; /** Server → gateway commands. */ export declare const BLEGattCommandSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_subscribe">; session_id: import("@sinclair/typebox").TString; mac: import("@sinclair/typebox").TString; service: import("@sinclair/typebox").TString; notify: import("@sinclair/typebox").TOptional>; poll: import("@sinclair/typebox").TOptional; }>>>; init: import("@sinclair/typebox").TOptional; }>>>; periodic_write: import("@sinclair/typebox").TOptional; }>>>; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_write">; session_id: import("@sinclair/typebox").TString; uuid: import("@sinclair/typebox").TString; data: import("@sinclair/typebox").TString; with_response: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_close">; session_id: import("@sinclair/typebox").TString; }>]>; /** Gateway → server GATT session lifecycle and data frames. */ export declare const BLEGattSessionEventSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_connected">; session_id: import("@sinclair/typebox").TString; mac: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_data">; session_id: import("@sinclair/typebox").TString; uuid: import("@sinclair/typebox").TString; data: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_disconnected">; session_id: import("@sinclair/typebox").TString; reason: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_error">; session_id: import("@sinclair/typebox").TString; error: import("@sinclair/typebox").TOptional; }>]>; export declare const BLEGatewayStatusSchema: import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"status">; active_gatt_connections: import("@sinclair/typebox").TOptional>; max_gatt_connections: import("@sinclair/typebox").TOptional>; uptime: import("@sinclair/typebox").TOptional>; free_heap: import("@sinclair/typebox").TOptional>; }>; /** Every frame a gateway may send to the server. */ export declare const BLEGatewayInboundMessageSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"hello">; gateway_id: import("@sinclair/typebox").TString; max_gatt_connections: import("@sinclair/typebox").TOptional>; active_gatt_connections: import("@sinclair/typebox").TOptional>; firmware: import("@sinclair/typebox").TOptional>; mac: import("@sinclair/typebox").TOptional>; hostname: import("@sinclair/typebox").TOptional>; }>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_connected">; session_id: import("@sinclair/typebox").TString; mac: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_data">; session_id: import("@sinclair/typebox").TString; uuid: import("@sinclair/typebox").TString; data: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_disconnected">; session_id: import("@sinclair/typebox").TString; reason: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"gatt_error">; session_id: import("@sinclair/typebox").TString; error: import("@sinclair/typebox").TOptional; }>]>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"status">; active_gatt_connections: import("@sinclair/typebox").TOptional>; max_gatt_connections: import("@sinclair/typebox").TOptional>; uptime: import("@sinclair/typebox").TOptional>; free_heap: import("@sinclair/typebox").TOptional>; }>]>; export type BLEGatewayDevice = Static; export type BLEGatewayAdvertisementBatch = Static; export type BLEAdvertisement = Static; export type BLEDeviceInfo = Static; export type BLEConsumerInfo = Static; export type BLEProviders = Static; export type BLEGatewayInfo = Static; export type BLEProviderInfo = Static; export type BLESettingsResponse = Static; export type BLESettingsRequest = Static; export type BLEDefaultProvider = Static; export type BLEGattClaimStatus = Static; export type BLEGatewayHello = Static; export type BLEGattCommand = Static; export type BLEGattSessionEvent = Static; export type BLEGatewayStatus = Static; export type BLEGatewayInboundMessage = Static; //# sourceMappingURL=ble-schemas.d.ts.map