import { IDevice } from "lavva.exalushome/build/js/Services/Devices/IDevice";
import { ResponseResult } from "lavva.exalushome/build/js/Services/FieldChangeResult";
import { BlindCalibrationState } from "lavva.exalushome/build/js/Services/Devices/IDeviceState";
import { BlindConfigurationErrorCode } from "../Common/BlindConfigurations/BlindConfigService";
import { CorrectionSteps, CorrectionType } from "../Common/BlindConfigurations/BlindConfigParameters";
import { Status } from "lavva.exalushome/build/js/DataFrame";
import { VersionedOptions } from "./SsrConfigService";
export interface ISsrConfigService {
    GetServiceName(): string;
    RunAutomaticCalibrationAsync(device: IDevice, channel: number): Promise<BlindCalibrationState | ResponseResult<BlindConfigurationErrorCode>>;
    StopAutomaticCalibrationAsync(device: IDevice): Promise<Status>;
    GetCorrectionStepAsync(device: IDevice, channel: number, correctionType: CorrectionType): Promise<CorrectionSteps | ResponseResult<BlindConfigurationErrorCode>>;
    SetCorrectionStepAsync(device: IDevice, channel: number, correction: number, correctionType: CorrectionType): Promise<Status>;
    VersionedConfigurationOptions(): VersionedOptions;
}
