import { IDeviceConfigService } from "lavva.exalushome/build/js/Services/Devices/IDeviceConfigService";
import { ResponseResult } from 'lavva.exalushome/build/js/Services/FieldChangeResult';
import { IDevice } from 'lavva.exalushome/build/js/Services/Devices/IDevice';
import { DiagnosticErrorCode, DiagnosticResult } from "./DiagnosticParams";
import { Status } from "lavva.exalushome/build/js/DataFrame";
export interface IDiagnosticService extends IDeviceConfigService {
    RunDiagnosticAsync(device: IDevice): Promise<DiagnosticResult | ResponseResult<DiagnosticErrorCode>>;
    RunDiagnosticAsync(deviceGuid: string): Promise<DiagnosticResult | ResponseResult<DiagnosticErrorCode>>;
    RepairDeviceAsync(diagnosticResult: DiagnosticResult): Promise<Status.OK | ResponseResult<DiagnosticErrorCode>>;
}
