/**
 * GPS Recalibration Recovery Action
 * Demonstrates a concrete implementation of a recovery action for GPS systems
 */
import { BaseRecoveryAction, RecoveryActionConfig, RecoveryActionResult } from '../RecoveryAction';
import { HealthCheckResult, OperationalContextType, MarineEnvironmentStatus } from '../../types';
/**
 * GPS recalibration parameters
 */
export interface GPSRecalibrationParams {
    /**
     * Reset satellite tracking
     */
    resetSatelliteTracking: boolean;
    /**
     * Clear almanac data
     */
    clearAlmanac: boolean;
    /**
     * Reset HDOP thresholds
     */
    resetHDOPThresholds: boolean;
    /**
     * Force cold start
     */
    forceColdStart: boolean;
    /**
     * Wait time for satellite acquisition in seconds
     */
    satelliteAcquisitionTimeout: number;
}
/**
 * GPS Recalibration Action
 * Attempts to recalibrate a GPS system that is reporting poor quality data
 */
export declare class GPSRecalibrationAction extends BaseRecoveryAction {
    private gpsInterface;
    constructor(config: RecoveryActionConfig, gpsInterface: {
        resetSatelliteTracking: () => Promise<boolean>;
        clearAlmanac: () => Promise<boolean>;
        resetHDOPThresholds: () => Promise<boolean>;
        forceColdStart: () => Promise<boolean>;
        waitForSatellites: (timeout: number) => Promise<number>;
    });
    /**
     * Perform GPS recalibration
     */
    protected performRecovery(triggeringCheck: HealthCheckResult, operationalContext: OperationalContextType, marineEnvironment?: MarineEnvironmentStatus): Promise<RecoveryActionResult>;
    /**
     * Create a recovery result
     */
    private createRecoveryResult;
}
/**
 * Create a GPS recalibration action with default configuration
 */
export declare function createGPSRecalibrationAction(gpsInterface: {
    resetSatelliteTracking: () => Promise<boolean>;
    clearAlmanac: () => Promise<boolean>;
    resetHDOPThresholds: () => Promise<boolean>;
    forceColdStart: () => Promise<boolean>;
    waitForSatellites: (timeout: number) => Promise<number>;
}, customConfig?: Partial<RecoveryActionConfig>): GPSRecalibrationAction;
//# sourceMappingURL=GPSRecalibrationAction.d.ts.map