import { 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 { IZfBidiConfigService } from './IZfBidiConfigService';
import { CalibrationStatusData, LamelaTiltCalibration, FacadeLockTime, FacadeDetection } from './ZfBidiConfigParams';
export declare class ZfBidiConfigService implements IZfBidiConfigService {
    private _connection;
    private _logger;
    private _controllerConfigurationService;
    private _lamelaCalibrationContext;
    static readonly ServiceName: string;
    constructor();
    GetServiceName(): string;
    RunAutomaticLamelaPositionCalibrationAsync(device: IDevice, channel: number): Promise<CalibrationStatusData | ResponseResult<FacadeConfigurationErrorCode>>;
    StopCalibrationAsync(device: IDevice, channel: number): Promise<Status>;
    LamelaTiltCalibration(device: IDevice, channel: number): LamelaTiltCalibration | ResponseResult<FacadeConfigurationErrorCode>;
    GetCalibrationStatusAsync(device: IDevice, channel: number): Promise<CalibrationStatusData | ResponseResult<FacadeConfigurationErrorCode>>;
    ChangeMovementDirectionAsync(device: IDevice, channel: number): Promise<Status>;
    IsWindSensorsPairedAsync(device: IDevice, channel: number): Promise<boolean | ResponseResult<FacadeConfigurationErrorCode>>;
    GetWindSensorActiveAsync(device: IDevice, channel: number): Promise<boolean | ResponseResult<FacadeConfigurationErrorCode>>;
    SetWindSensorActiveAsync(device: IDevice, channel: number, windDetectionLockActive: boolean): Promise<Status>;
    GetWindSensorLockTimeAsync(device: IDevice, channel: number): Promise<FacadeLockTime | ResponseResult<FacadeConfigurationErrorCode>>;
    SetWindSensorLockTimeAsync(device: IDevice, channel: number, lockTime: FacadeLockTime): Promise<Status>;
    IsBlindLockedByWindSensorAsync(device: IDevice, channel: number): Promise<boolean | ResponseResult<FacadeConfigurationErrorCode>>;
    ClearBlindLockByWindSensorAsync(device: IDevice, channel: number): Promise<Status>;
    GetFacadeTypeDetectionAsync(device: IDevice, channel: number): Promise<FacadeDetection | ResponseResult<FacadeConfigurationErrorCode>>;
    SetFacadeTypeDetectionAsync(device: IDevice, channel: number, detectionType: FacadeDetection): Promise<Status>;
}
export declare enum FacadeConfigurationErrorCode {
    InvalidChannelNumber = "InvalidChannelNumber",
    OtherError = "OtherError",
    CalibrationsIsCurrentlyRunning = "CalibrationsIsCurrentlyRunning",
    DeviceNotResponding = "DeviceNotResponding",
    WindSensorNotPaired = "WindSensorNotPaired",
    TravelTimeCalibrationNotValid = "TravelTimeCalibrationNotValid",
    NoData = "NoData"
}
