import { Status } from "lavva.exalushome/build/js/DataFrame";
import { IDevice } from "lavva.exalushome/build/js/Services/Devices/IDevice";
import { BlindCalibrationState } from "lavva.exalushome/build/js/Services/Devices/IDeviceState";
import { ResponseResult } from "lavva.exalushome/build/js/Services/FieldChangeResult";
import { ComfortPositionParameters, InputOutputBlindParameters, StateOfTurnOnBlindDeviceParameters } from "../Common/BlindConfigurations/BlindConfigParameters";
import { BlindConfigurationErrorCode } from "../Common/BlindConfigurations/BlindConfigService";
export interface ISrp30ConfigService {
    GetServiceName(): string;
    RunAutomaticCalibrationAsync(device: IDevice, channel: number): Promise<BlindCalibrationState | ResponseResult<BlindConfigurationErrorCode>>;
    StopAutomaticCalibrationAsync(device: IDevice): Promise<Status>;
    GetComfortPositionsAsync(device: IDevice, channel: number): Promise<ComfortPositionParameters | ResponseResult<BlindConfigurationErrorCode>>;
    SetComfortPositionAsync(device: IDevice, data: ComfortPositionParameters): Promise<Status>;
    SwapRelaysAsync(device: IDevice, channel: number): Promise<Status>;
    GetBlindInputOutputParamAsync(device: IDevice, channel: number): Promise<InputOutputBlindParameters | ResponseResult<BlindConfigurationErrorCode>>;
    SetBlindInputOutputParamAsync(device: IDevice, params: InputOutputBlindParameters): Promise<Status>;
    GetTurnOnBehaviourAsync(device: IDevice, channel: number): Promise<StateOfTurnOnBlindDeviceParameters | ResponseResult<BlindConfigurationErrorCode>>;
    SetTurnOnBehaviourAsync(device: IDevice, params: StateOfTurnOnBlindDeviceParameters): Promise<Status>;
}
