import type { PlatformAccessory } from 'homebridge';
import type { NoIPPlatform } from '../platform.js';
import type { devicesConfig } from '../settings.js';
import { deviceBase } from './device.js';
/**
 * Platform Accessory
 * An instance of this class is created for each accessory your platform registers
 * Each accessory may expose multiple services of different service types.
 */
export declare class ContactSensor extends deviceBase {
    readonly platform: NoIPPlatform;
    private ContactSensor;
    interval: any;
    renewalInterval: any;
    SensorUpdateInProgress: boolean;
    RenewalInProgress: boolean;
    autoRenewal: boolean;
    renewalIntervalDays: number;
    constructor(platform: NoIPPlatform, accessory: PlatformAccessory, device: devicesConfig);
    /**
     * Renews the No-IP domain to prevent expiration by making an update request
     * This works by confirming the hostname is still in use, which extends its validity period
     */
    renewDomain(): Promise<void>;
    /**
     * Parse the device status from the noip api
     */
    parseStatus(response: string | string[]): Promise<void>;
    /**
     * Asks the NoIP API for the latest device information
     */
    refreshStatus(): Promise<void>;
    status(f: any, data: any): Promise<void>;
    private timeout;
    /**
     * Updates the status for each of the HomeKit Characteristics
     */
    updateHomeKitCharacteristics(): Promise<void>;
    apiError(e: any): Promise<void>;
}
//# sourceMappingURL=contactsensor.d.ts.map