import { ApiDefinition } from './http/ApiDefinition';
import { model } from '@peter-murray/hue-bridge-model';
import { KeyValueType } from '../commonTypes';
import { Api } from './Api';
type Sensor = model.Sensor;
type SensorId = string | Sensor;
type CLIPSensor = model.CLIPGenericFlag | model.CLIPGenericStatus | model.CLIPHumidity | model.CLIPLightlevel | model.CLIPOpenClose | model.CLIPPresence | model.CLIPTemperature | model.CLIPSwitch;
export declare class Sensors extends ApiDefinition {
    constructor(hueApi: Api);
    getAll(): Promise<Sensor[]>;
    getSensor(id: SensorId): Promise<Sensor>;
    searchForNew(): Promise<boolean>;
    getNew(): Promise<Sensor[]>;
    renameSensor(sensor: Sensor): Promise<boolean>;
    /** Creates a new Sensor (CLIP based) */
    createSensor(sensor: CLIPSensor): Promise<CLIPSensor>;
    deleteSensor(id: SensorId): Promise<boolean>;
    /** Will update the configuration attributes of the Sensor in the bridge. */
    updateSensorConfig(sensor: Sensor): Promise<KeyValueType>;
    /**
     * Will update the state attributes of the Sensor in the bridge.
     * @param limitToStateNames list of state attributes to limit the update to (should not be needed in practice, was added to get around a bug).
     */
    updateSensorState(sensor: Sensor, limitToStateNames?: string[]): Promise<KeyValueType>;
}
export {};
