import { Device } from "../device.model.js";
import type { IForceBoard } from "../../interfaces/device/forceboard.interface.js";
/**
 * Represents a PitchSix Force Board device.
 * {@link https://pitchsix.com}
 */
export declare class ForceBoard extends Device implements IForceBoard {
    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>;
    /**
     * 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 {DataView} value - The notification event.
     */
    handleNotifications: (value: DataView) => void;
    /**
     * Retrieves humidity level from the device.
     * @returns {Promise<string>} A Promise that resolves with the humidity level,
     */
    humidity: () => Promise<string | undefined>;
    /**
     * Retrieves manufacturer information from the device.
     * @returns {Promise<string>} A Promise that resolves with the manufacturer information,
     */
    manufacturer: () => Promise<string | undefined>;
    /**
     * Stops the data stream on the specified device by setting it to Idle mode.
     * @returns {Promise<void>} A promise that resolves when the stream is stopped.
     */
    stop: () => Promise<void>;
    /**
     * Starts streaming data from the specified device in Streaming Data Mode.
     * @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>;
    /**
     * Sets the threshold in Lbs for the Quick Start mode.
     * @param {number} thresholdLbs - The threshold value in pounds.
     * @returns {Promise<void>} A promise that resolves when the threshold is set.
     */
    threshold: (thresholdLbs: number) => Promise<void>;
    /**
     * Tares the Force Board device using a characteristic to zero out the current load value.
     * @returns {Promise<void>} A promise that resolves when the tare operation is completed.
     */
    tareByCharacteristic: () => Promise<void>;
    /**
     * Initiates a tare routine via the Device Mode characteristic.
     * Writes 0x05 to the Device Mode characteristic to zero out the current load value.
     * @returns {Promise<void>} A promise that resolves when the tare operation is completed.
     */
    tareByMode: () => Promise<void>;
    /**
     * Retrieves temperature information from the device.
     * @returns {Promise<string>} A Promise that resolves with the temperature information,
     */
    temperature: () => Promise<string | undefined>;
    /**
     * Starts the Force Board in Quick Start mode.
     * Writes 0x06 to the Device Mode characteristic.
     * @param {number} [duration=0] - The duration in milliseconds. If set to 0, mode will continue indefinitely.
     * @returns {Promise<void>} A promise that resolves when the operation is completed.
     */
    quick: (duration?: number) => Promise<void>;
}
//# sourceMappingURL=forceboard.model.d.ts.map