import { Device } from "../device.model";
import type { IProgressor } from "../../interfaces/device/progressor.interface";
/**
 * Represents a Tindeq Progressor device.
 * {@link https://tindeq.com}
 */
export declare class Progressor extends Device implements IProgressor {
    constructor();
    /**
     * Retrieves battery or voltage information from the device.
     * @returns {Promise<string | undefined>} A Promise that resolves with the battery or voltage information,
     */
    battery: () => Promise<string | undefined>;
    /**
     * Retrieves firmware version from the device.
     * @returns {Promise<string>} A Promise that resolves with the firmware version,
     */
    firmware: () => Promise<string | undefined>;
    /**
     * Handles data received from the device, processes weight measurements,
     * and updates mass data including maximum and average values.
     * It also handles command responses for retrieving device information.
     *
     * @param {BluetoothRemoteGATTCharacteristic} characteristic - The notification event.
     */
    handleNotifications: (characteristic: BluetoothRemoteGATTCharacteristic) => void;
    /**
     * Stops the data stream on the specified device.
     * @returns {Promise<void>} A promise that resolves when the stream is stopped.
     */
    stop: () => Promise<void>;
    /**
     * Starts streaming data from the specified device.
     * @param {number} [duration=0] - The duration of the stream in milliseconds. If set to 0, stream will continue indefinitely.
     * @returns {Promise<void>} A promise that resolves when the streaming operation is completed.
     */
    stream: (duration?: number) => Promise<void>;
}
