import { IRcr21ConfigService } from "./IRcr21ConfigService";
import { IDevice } from "lavva.exalushome/build/js/Services/Devices/IDevice";
import { ResponseResult } from "lavva.exalushome/build/js/Services/FieldChangeResult";
import { AccLevel, LuxSettingThreshold, MovementDetectorParams, MoveSensorExternalOutputMode, MoveSensorMode, PirDetection, PirDetectionThreshold, PirPredefinedSettings, PirSensorParams, PirWindowTime } from "./Rcr21ConfigParams";
import { GetParamsErrorCode, SynchronizationTime } from "../../../ExtaLife";
import { Status } from "lavva.exalushome/build/js/DataFrame";
export declare class Rcr21ConfigService implements IRcr21ConfigService {
    private _connection;
    static readonly ServiceName: string;
    constructor();
    GetServiceName(): string;
    GetPirSensorParamsAsync(device: IDevice, channel: number): Promise<PirSensorParams | ResponseResult<GetParamsErrorCode>>;
    SetDetectionThresholdAsync(device: IDevice, channel: number, detectionThreshold: PirDetectionThreshold): Promise<Status>;
    SetWindowTimeAsync(device: IDevice, channel: number, windowTime: PirWindowTime): Promise<Status>;
    SetDetectionAsync(device: IDevice, channel: number, detection: PirDetection): Promise<Status>;
    SetPredefinedSettingsAsync(device: IDevice, channel: number, predefinedSettings: PirPredefinedSettings): Promise<Status>;
    GetMovementDetectorParamsAsync(device: IDevice, channel: number): Promise<MovementDetectorParams | ResponseResult<GetParamsErrorCode>>;
    SetOffTimeAsync(device: IDevice, channel: number, offTime: number): Promise<Status>;
    SetLuxSettingAsync(device: IDevice, channel: number, luxSetting: LuxSettingThreshold): Promise<Status>;
    SetSynchronizationTimeAsync(device: IDevice, channel: number, syncTime: SynchronizationTime): Promise<Status>;
    SetAccTamperEventAsync(device: IDevice, channel: number, tamperEvent: boolean): Promise<Status>;
    SetAccLevelAsync(device: IDevice, channel: number, accLevel: AccLevel): Promise<Status>;
    SetSensorModeAsync(device: IDevice, channel: number, sensorMode: MoveSensorMode): Promise<Status>;
    SetExternalOutModeAsync(device: IDevice, channel: number, externalOutputMode: MoveSensorExternalOutputMode): Promise<Status>;
    SetOpticalLEDSignalizationAsync(device: IDevice, channel: number, opticalLEDSignalization: boolean): Promise<Status>;
    SetMoveLEDSignalizationAsync(device: IDevice, channel: number, moveLEDSignalization: boolean): Promise<Status>;
    protected GetCurrentPirParamsAsync(deviceGuid: string): Promise<PirSensorParams | null>;
    protected GetCurrentMovementDetectorParamsAsync(deviceGuid: string): Promise<MovementDetectorParams | null>;
    SetPirSensorParamsAsync(params: PirSensorParams, channel: number): Promise<Status>;
    SetMovementDetectorParamsAsync(params: MovementDetectorParams, channel: number): Promise<Status>;
    ClearTamperAlarmAsync(device: IDevice, channel: number): Promise<Status>;
}
