import { Core } from 'webserial-core'; export interface ConstructorParams { filters?: SerialPortFilter[] | null; config_port?: SerialOptions; no_device?: number; device_listen_on_channel?: number | string; bypassSerialBytesConnection?: boolean; socket?: boolean; } export interface DispenseResponse { error: string | null; status: boolean; } interface LastError { message: string | null; action: string | null; code: string | Uint8Array | Array | Array | null | number; no_code: number; } interface DeviceData { type: string; id: string; listen_on_port: number | null; door_open: boolean; } type SerialResponseAs = 'hex' | 'uint8' | 'string' | 'arraybuffer'; interface SerialResponse { length: number | null; buffer: Uint8Array; as: SerialResponseAs; replacer: RegExp | string; limiter: null | string | RegExp; prefixLimiter: boolean; sufixLimiter: boolean; delimited: boolean; } interface QueueData { bytes: string | Uint8Array | Array | Array; action: string; } type ParserSocketPort = { name: 'byte-length' | 'inter-byte-timeout'; length?: number; interval?: number; }; type PortInfo = { path: string | null; vendorId: number | string | null; productId: number | string | null; parser: ParserSocketPort; }; type SerialData = { transformStream: TransformStream | false; socket: boolean; portInfo: PortInfo; aux_connecting: string; connecting: boolean; connected: boolean; port: SerialPort | null; last_action: string | null; response: SerialResponse; reader: ReadableStreamDefaultReader | null; input_done: Promise | null; output_done: Promise | null; input_stream: ReadableStream | null; output_stream: WritableStream | null; keep_reading: boolean; time_until_send_bytes: number | undefined | ReturnType; delay_first_connection: number; bytes_connection: string | Uint8Array | string[] | number[] | null; filters: SerialPortFilter[]; config_port: SerialOptions; queue: QueueData[]; running_queue: boolean; auto_response: any; free_timeout_ms: number; useRTSCTS: boolean; }; interface TimeResponse { response_connection: number; response_engines: number; response_general: number; sense: number; } interface Timeout { until_response: number | ReturnType; } interface InternalIntervals { reconnection: number; waiting_sense: number; } export interface Internal { bypassSerialBytesConnection: boolean; auto_response: boolean; device_number: number; aux_port_connector: number; last_error: LastError; serial: SerialData; device: DeviceData; time: TimeResponse; timeout: Timeout; interval: InternalIntervals; dispense: { must_response: boolean; dispensing: boolean; status: boolean | null | 'no-response' | 'elevator-locked'; counter: number; limit_counter: number; custom_limit_counter: number | null; backup_dispense: Record; }; } export declare class Kernel extends Core { __internal__: Internal; constructor(config?: ConstructorParams); get isDoorOpen(): boolean; get isDispensing(): number | boolean; timeout(bytes: string | Uint8Array | Array | Array, event: string): Promise; internalClearSensing(): void; internalDispensingProcess(): false | null; internalDispenseStatus(): Promise; internalDispense(code: string | Uint8Array | string[] | number[]): Promise; __emulate(data: { code: string[] | number[] | Uint8Array; }): void; /** * @deprecated Use listenOnChannel instead * @param {string|number} channel */ set listenOnPort(channel: number); /** * @deprecated Use listenOnChannel instead */ get listenOnPort(): number; fixHexArray(array: Array | Array): string[]; } export {}; //# sourceMappingURL=kernel.d.ts.map