import { SinglePacketProgress, Tap } from '@iotize/device-client.js';
import { Observable } from 'rxjs';
export declare class TapNLinkUpdater {
    private tap;
    options: TapNLinkUpdater.Options;
    private data?;
    private _observable?;
    constructor(tap: Tap, options?: TapNLinkUpdater.Options);
    start(firmwareUpdateData: Uint8Array): Observable<TapNLinkUpdater.Progress>;
    private isFirmwareUpdateAvailable;
    private waitingForReconnection;
}
export declare namespace TapNLinkUpdater {
    const DEFAULT_OPTIONS: Options;
    interface Options {
        reconnectAfterUpdate: boolean;
    }
    interface Progress {
        step: 'load' | 'apply' | 'finish' | 'restart';
        payload?: SinglePacketProgress;
    }
}
