import { Status } from "lavva.exalushome/build/js/DataFrame";
import { IntRange } from "lavva.exalushome/build/js/Helpers";
import { ResponseResult } from "lavva.exalushome/build/js/Services/FieldChangeResult";
import { BlindConfigurationErrorCode } from "./BlindConfigService";
export type CorrectionType = "LOWER" | "UPPER";
export type BlindOpenRange = IntRange<0, 101>;
export type ManualCalibration = {
    StepAOpenBlindAsync: () => Promise<Status>;
    StepBCalibrateOpeningTime: () => TimeCalibration | ResponseResult<BlindConfigurationErrorCode>;
    StepCCalibrateClosingTime: () => TimeCalibration | ResponseResult<BlindConfigurationErrorCode>;
    StepDSaveCalibrationAsync: () => Promise<Status>;
};
export type TimeCalibration = {
    StepAInitBlindMoveAsync: () => Promise<Status>;
    StepBConfirmBlindPositionAsync: () => Promise<Status>;
};
export declare class CorrectionSteps {
    Correction: number;
    AvaliableCorrections: number[];
    CorrectionType: CorrectionType;
}
export declare class ComfortPositionParameters {
    Channel: number;
    Position1: BlindOpenRange;
    Position2: BlindOpenRange;
}
export declare class InputOutputBlindParameters {
    Channel: number;
    InputModeBlind: InputModeBlind;
    ButtonTypeBlind: ButtonTypeBlind;
}
export declare enum InputModeBlind {
    Local = 0,
    Central = 1
}
export declare enum ButtonTypeBlind {
    SingleButton = 0,
    DoubleButton = 1
}
export declare class StateOfTurnOnBlindDeviceParameters {
    Channel: number;
    State: BlindTurnOnState;
    BlindPosition: BlindOpenRange;
}
export declare enum BlindTurnOnState {
    OpenBlind = 0,
    CloseBlind = 1,
    DoNothing = 2,
    OpenPercentage = 3
}
