import { ProgressStep } from './types';
interface OpenPhaseDetectionStep extends ProgressStep<boolean> {
    id: 'openPhaseDetection';
}
interface PhaseResistanceMeasurementStep extends ProgressStep<number> {
    id: 'phaseResistanceMeasurement';
}
interface PhaseInductanceMeasurementStep extends ProgressStep<number> {
    id: 'phaseInductanceMeasurement';
}
interface PolePairDetectionStep extends ProgressStep<number> {
    id: 'polePairDetection';
}
interface MotorPhaseOrderDetectionStep extends ProgressStep<number> {
    id: 'motorPhaseOrderDetection';
}
interface CommutationOffsetMeasurementStep extends ProgressStep<number> {
    id: 'commutationOffsetMeasurement';
}
/**
 * Tuple representing the ordered sequence of all offset detection steps.
 *
 * Each position in the tuple corresponds to a specific diagnostic step
 * in the offset detection workflow.
 */
export type OffsetDetectionSteps = [
    OpenPhaseDetectionStep,
    PhaseResistanceMeasurementStep,
    PhaseInductanceMeasurementStep,
    PolePairDetectionStep,
    MotorPhaseOrderDetectionStep,
    CommutationOffsetMeasurementStep
];
/**
 * Union type of all possible offset detection step identifiers.
 */
export type OffsetDetectionStepId = OffsetDetectionSteps[number]['id'];
/**
 * Template describing the ordered offset detection steps and their initial state.
 *
 * This array serves as the baseline structure for reporting progress during the
 * offset detection procedure. It is typically cloned and mutated as the procedure
 * executes, with each step transitioning through statuses such as:
 * - 'idle'
 * - 'running'
 * - 'succeeded'
 * - 'failed'
 *
 * The structure and order of this array define:
 * - The sequence in which diagnostic steps are executed
 * - The shape of progress updates emitted during the procedure
 *
 * Consumers should treat this array as immutable and use a cloned copy when
 * tracking or displaying runtime progress.
 */
export declare const offsetDetectionSteps: OffsetDetectionSteps;
/**
 * Formats the value associated with a specific offset detection step.
 *
 * Depending on the provided `stepId`, this function will convert the raw `value` into a human-readable string
 * or return the value as-is. The formatting is tailored to the type of step:
 * - For 'openPhaseDetection', returns 'Yes' or 'No' based on the truthiness of `value`.
 * - For 'phaseResistanceMeasurement', appends 'mΩ' to the value if defined.
 * - For 'phaseInductanceMeasurement', appends 'μH' to the value if defined.
 * - For 'polePairDetection', returns the value directly.
 * - For 'motorPhaseOrderDetection', returns 'Normal' or 'Inverted' based on the value.
 * - For 'commutationOffsetMeasurement', returns the value if defined.
 * - For any other step, returns the value as-is.
 *
 * @param stepId - The identifier of the offset detection step.
 * @param value - The value to be parsed and formatted.
 * @returns The formatted value as a string or the original value, depending on the step.
 */
export declare function formatOffsetDetectionStepValue(stepId: OffsetDetectionStepId, value: number): string | number;
export {};
