import { Logging } from 'homebridge';
import { CommandResponse } from './gmg.types';
import GrillStatus from './GrillStatus';
declare class GMGClient {
    private port;
    private host;
    private tries;
    private retryMs;
    private _logger;
    constructor(param: {
        logger: Logging;
        host?: string;
        port?: number;
        tries?: number;
        retryMs?: number;
    });
    private getCommandData;
    getGrillId(): Promise<string>;
    getGrillModelAndFirmware(): Promise<{
        model: string;
        firmware: string;
    } | undefined>;
    getGrillStatus(): Promise<GrillStatus | undefined>;
    powerToggleGrill(): Promise<void>;
    powerOffGrill(): Promise<void>;
    powerOnGrill(): Promise<void>;
    setGrillTemp(fahrenheit: any): Promise<void>;
    setFoodTemp(fahrenheit: any): Promise<void>;
    discoverGrill({ tries }?: {
        tries?: number | undefined;
    }): Promise<unknown>;
    sendCommand(command: any, { tries }?: {
        tries?: number | undefined;
    }): Promise<CommandResponse>;
    _powerOffGrill(status: any): Promise<void>;
    _powerOnGrill(status: any): Promise<void>;
    _validateResult(result: any, _validator: any): Promise<void>;
}
export default GMGClient;
//# sourceMappingURL=GMGClient.d.ts.map