/** * Inp1Adapter — exposes the INP1 API surface over an `EdiabasXProvider`. * * Many BMW INPA scripts (MS43, startus, etc.) mix the two EDIABAS-facing * APIs: they kick off a job via `INPAapiJob` (blocking, no rc) and then * read results via `INP1apiResultInt` / `INP1apiResultText` (rc + value * tuple). Both surfaces share the same underlying EDIABAS state — same * SGBD, same `enewset` result sets, same `JOB_STATUS`. This adapter * delegates every method to the wrapped provider's existing state and * reshapes the return into the INP1 `[rc, value]` form. * * Events: * - `job:complete` / `job:error` are forwarded from the wrapped * provider so consumers that subscribe to the INP1 surface still * get the same signals. * - `state:changed` (INP1-specific) fires when the adapter's job * state transitions (idle → running → complete/error). */ import { EventEmitter } from 'eventemitter3'; import type { IEdiabasProvider, IInp1Provider, Inp1Events } from '@emdzej/inpax-interfaces'; export declare class Inp1Adapter extends EventEmitter implements IInp1Provider { private readonly ediabas; private jobState; private lastErrorCode; private lastErrorText; constructor(ediabas: IEdiabasProvider); init(): Promise; end(): void; job(ecu: string, jobName: string, arg1: string, arg2: string): void; state(): number; resultText(name: string, set: number, format: string): [boolean, string]; resultInt(name: string, set: number): [boolean, number]; resultSets(): [boolean, number]; resultReal(name: string, set: number): [boolean, number]; resultBinary(name: string, set: number): [boolean, Uint8Array]; errorCode(): number; errorText(): string; } //# sourceMappingURL=inp1-adapter.d.ts.map