import type { PeerReference } from './peer-reference.js'; export interface NormalizedManufacturerDataPattern { readonly companyId: number; readonly dataPrefix: Readonly | undefined; readonly mask: Readonly | undefined; } export interface NormalizedServiceDataPattern { readonly service: string; readonly dataPrefix: Readonly | undefined; readonly mask: Readonly | undefined; } export interface NormalizedScanClause { readonly peers: readonly PeerReference[] | null; /** Canonical radio addresses; matches only peers advertising a public or static random address. */ readonly addresses: readonly string[] | null; readonly services: { readonly any: readonly string[]; readonly all: readonly string[]; } | null; readonly names: { readonly exact: readonly string[]; readonly prefixes: readonly string[]; } | null; readonly manufacturerData: { readonly any: readonly NormalizedManufacturerDataPattern[]; readonly all: readonly NormalizedManufacturerDataPattern[]; } | null; readonly serviceData: { readonly any: readonly NormalizedServiceDataPattern[]; readonly all: readonly NormalizedServiceDataPattern[]; } | null; readonly rssi: { readonly minimum: number | undefined; readonly maximum: number | undefined; } | null; readonly connectable: boolean | undefined; } export interface NormalizedScanQuery { readonly anyOf: readonly NormalizedScanClause[] | null; readonly exclude: readonly NormalizedScanClause[] | null; readonly digest: string; } export interface NormalizedScanObservation { readonly peerReference?: PeerReference; readonly address?: NormalizedObservationAddress; readonly localName: string | null; readonly rssi: number | null; readonly connectable: boolean | null; readonly serviceUuids: readonly string[] | null; readonly manufacturerData: readonly { readonly companyId: number; readonly data: Uint8Array; }[] | null; readonly serviceData: readonly { readonly service: string; readonly data: Uint8Array; }[] | null; } export interface NormalizedObservationAddress { /** * `opaque` carries a canonical radio address whose native layer reported no * address type (Android scan results); it makes no public/static claim, so * consumers must not persist it as a stable public identity. */ readonly type: 'public' | 'random' | 'opaque'; readonly value: string; } export declare function snapshotNormalizedScanQuery(query: NormalizedScanQuery): NormalizedScanQuery; export declare function scanQueryDigest(query: Omit): string; export declare function canonicalScanQueryJson(value: unknown): string; //# sourceMappingURL=scan-query.d.ts.map