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 { GetParamsErrorCode } from "../../../ExtaLife";
import { IRob21ConfigService } from "./IRob21ConfigService";
import { LimitSwitchConfiguration, TypeOfGateChannel } from "./Rob21ConfigParams";
export declare class Rob21ConfigService implements IRob21ConfigService {
    private _connection;
    private _logger;
    private _controllerConfigurationService;
    static readonly ServiceName: string;
    constructor();
    GetServiceName(): string;
    GetGateModeAsync(device: IDevice, channel: number): Promise<TypeOfGateChannel | ResponseResult<GetParamsErrorCode>>;
    SetGateModeAsync(device: IDevice, channel: number, mode: TypeOfGateChannel): Promise<Status>;
    GetPulseTimeAsync(device: IDevice, channel: number): Promise<number | ResponseResult<GetParamsErrorCode>>;
    SetPulseTimeAsync(device: IDevice, channel: number, pulseTime: number): Promise<Status>;
    GetLimitingSwitchesConfigurationsAsync(device: IDevice, channel: number): Promise<LimitSwitchConfiguration[] | ResponseResult<GetParamsErrorCode>>;
    SetLimitingSwitchConfigurationAsync(device: IDevice, params: LimitSwitchConfiguration): Promise<Status>;
    GetTimeBetweenPulsesAsync(device: IDevice, channel: number): Promise<number | ResponseResult<GetParamsErrorCode>>;
    SetTimeBetweenPulsesAsync(device: IDevice, channel: number, timeBetweenPulse: number): Promise<Status>;
    GetOpeningTime(device: IDevice, channel: number): Promise<number | ResponseResult<GetParamsErrorCode>>;
    SetOpeningTimeAsync(device: IDevice, channel: number, openingTime: number): Promise<Status>;
}
