export interface IOTileAdvertisementFlagsV1 {
    hasData: boolean;
    otherConnected: boolean;
    lowVoltage: boolean;
    robustReports: boolean;
    fastWrites: boolean;
}
export interface IOTileAdvertisementFlagsV2 {
    hasData: boolean;
    otherConnected: boolean;
    lowVoltage: boolean;
    dataIsEncrypted: boolean;
    keyIsDeviceKey: boolean;
    keyIsUserKey: boolean;
    isSynchronized: boolean;
    robustReports: boolean;
    fastWrites: boolean;
}
export interface IOTileAdvertisement {
    batteryVoltage: number;
    deviceID: number;
    rssi: number;
    flags: IOTileAdvertisementFlagsV1 | IOTileAdvertisementFlagsV2;
    connectionID: any;
    slug: string;
    broadcastStream?: number;
    broadcastValue?: number;
    timestamp?: number;
}
export declare class IOTileAdvertisementService {
    constructor();
    processAdvertisement(connectionID: any, rssi: number, rawAdvert: ArrayBuffer | {}): IOTileAdvertisement | null;
    private processValidAdvertisementV1;
    private processValidAdvertisementV2;
}
