import { EventEmitter } from "events";
import * as net from "net";
import { API, Characteristic, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service } from "homebridge";
import { Config } from "./config/config";
import { ConfigAccessory } from "./config/config-accessory";
import { AccessoryContext } from "./interfaces/accessory-context";
import { Messages } from "./interfaces/messages";
/**
 * Texecom Connect Platform.
 */
export declare class TexecomConnectPlatform implements DynamicPlatformPlugin {
    readonly accessories: PlatformAccessory<AccessoryContext>[];
    readonly accessoryEvent: EventEmitter;
    readonly api: API;
    readonly characteristic: typeof Characteristic;
    readonly config: Config;
    readonly configAccessories: ConfigAccessory[];
    connection?: net.Socket;
    readonly log: Logger;
    readonly service: typeof Service;
    private lastSocketResponse;
    constructor(log: Logger, config: PlatformConfig, api: API);
    /**
     * Configure Accessory after Platform Init
     */
    configureAccessory(accessory: PlatformAccessory<AccessoryContext>): void;
    getAccessoryId(configAccessory: ConfigAccessory, prefix?: Messages.disarmUpdate | Messages.zoneUpdate | string): string;
    /**
     * Deprecate old Accessories which are invalid.
     */
    private deprecateAccessories;
    /**
     * Discover new Accessories.
     */
    private discoverDevices;
    private handleMessage;
    private initAccessory;
    /**
     * Shutdown
     */
    private onShutdown;
    /**
     * Start Up
     */
    private onStartUp;
    private parseData;
    private sanitiseConfig;
    private sanitiseEventData;
    /**
     * Restarts the socket connection to SmartCom.
     */
    private socketRestart;
    /**
     * Shutdown the socket connection to SmartCom.
     */
    private socketShutdown;
    /**
     * Start the socket connection to SmartCom.
     */
    private socketStartUp;
    private socketVerify;
}
