import { Subject } from 'rxjs';
import { MotionMasterClient } from './motion-master-client';
import { DeviceRef, VelocityProfileConfig } from './types';
export declare function parseIntegroEncoderFirmwareVersion(value: number): {
    value: number;
    major: string;
    minor: string;
    datestamp: string;
    year: string;
    month: string;
    day: string;
};
export declare class IntegroEncoderCalibration {
    private client;
    readonly deviceRef: DeviceRef;
    readonly notifications$: Subject<string>;
    private originalVelocityWindow;
    private originalVelocityWindowTime;
    private maxMotorSpeed;
    private originalMaxMotorSpeed;
    private quickStopDeceleration;
    private originalQuickStopDeceleration;
    private feedConstantFeed;
    private originalFeedConstantFeed;
    private feedConstantShaftRevolutions;
    private originalFeedConstantShaftRevolutions;
    private feedConstant;
    private originalFeedConstant;
    private siUnitVelocity;
    private originalSiUnitVelocity;
    private readonly ccwVelocityProfile;
    private readonly cwVelocityProfile;
    constructor(client: MotionMasterClient, deviceRef: DeviceRef);
    start(debug?: boolean): Promise<void>;
    /**
     * Validate device.
     */
    validateDevice(): Promise<void>;
    /**
     * Set velocity profile.
     */
    setVelocityProfile(velocityProfileConfig: VelocityProfileConfig, accelerationConstant?: number): Promise<VelocityProfileConfig>;
    /**
     * Write encoder register value and validate response.
     */
    writeEncoderRegisterValueAndValidateResponse(address: number, value: number, length?: number): Promise<void>;
    notifyParameterValue(index: number, subindex: number): Promise<void>;
    notifyExtendedErrorStatusAndGetErrorCodes(): Promise<number[]>;
    notifyEncoderSpeeds(): Promise<void>;
    updateVelocityParameterValues(): Promise<void>;
    revertVelocityParameterValues(): Promise<void>;
}
