import { DataFrame, Status } from "lavva.exalushome/build/js/DataFrame";
import { IDevice } from "lavva.exalushome/build/js/Services/Devices/IDevice";
import { ResponseResult } from "lavva.exalushome/build/js/Services/FieldChangeResult";
import { IExalusConnectionService } from "lavva.exalushome/build/js/Services/IExalusConnectionService";
import { GetParamsErrorCode } from "../../../../../ExtaLife";
import { GetChannelParamsRequest } from "../../../Common/DataRequest";
import { MultisensorDetectionThresholdParams, MultisensorIntervalParams, Rcm21Channels } from "../../Rcm21ConfigParams";
export declare class Rcm21VersionedService {
    protected _connection: IExalusConnectionService | null;
    constructor();
    GetDetectionThresholdDataAsync(device: IDevice, channel: Rcm21Channels): Promise<MultisensorDetectionThresholdParams | ResponseResult<GetParamsErrorCode>>;
    SetDetectionThresholdAsync(device: IDevice, channel: Rcm21Channels, threshold: number): Promise<Status>;
    GetFramesIntervalAsync(device: IDevice, channel: Rcm21Channels): Promise<MultisensorIntervalParams | ResponseResult<GetParamsErrorCode>>;
    SetFramesIntervalAsync(device: IDevice, channel: Rcm21Channels, interval: number): Promise<Status>;
    protected GetCurrentDetectionThresholdConfigAsync(deviceGuid: string, channel: number): Promise<MultisensorDetectionThresholdParams | null>;
}
export declare class GetDetectionThresholdParams extends DataFrame<GetChannelParamsRequest> {
    constructor(guid: string, channel: number);
}
export declare class SetDetectionThresholdParamsRequest extends DataFrame<MultisensorDetectionThresholdParams> {
    constructor(data: MultisensorDetectionThresholdParams);
}
export declare class SetIntervalParamsRequest extends DataFrame<MultisensorIntervalParams> {
    constructor(data: MultisensorIntervalParams);
}
