import { type ZWaveSerialStream } from "@zwave-js/serial"; import { MockPort } from "@zwave-js/serial/mock"; import type { FileSystem } from "@zwave-js/shared/bindings"; import net from "node:net"; import { Driver } from "./Driver.js"; import type { PartialZWaveOptions } from "./ZWaveOptions.js"; export interface CreateAndStartDriverWithMockPortResult { driver: Driver; continueStartup: () => void; mockPort: MockPort; serial: ZWaveSerialStream; /** The TCP server the driver is connected to. Only present when the `connectViaTCP` option is enabled. */ tcpServer?: net.Server; } export interface CreateAndStartDriverWithMockPortOptions { /** * Whether the driver should connect to the mock port through an actual TCP connection * instead of using its binding directly. This allows testing reconnection scenarios * with real network errors. Default: false. */ connectViaTCP?: boolean; } /** Creates a real driver instance with a mocked serial port to enable end to end tests */ export declare function createAndStartDriverWithMockPort(options?: Partial & PartialZWaveOptions): Promise; export type CreateAndStartTestingDriverResult = Omit; export interface CreateAndStartTestingDriverOptions { beforeStartup: (mockPort: MockPort, serial: ZWaveSerialStream) => void | Promise; /** * Whether the controller identification should be skipped (default: false). * If not, a Mock controller must be available on the serial port. */ skipControllerIdentification?: boolean; /** * Whether the node interview should be skipped (default: false). * If not, a Mock controller and/or mock nodes must be available on the serial port. */ skipNodeInterview?: boolean; /** * Set this to true to skip checking if the controller is in bootloader, serial API, or CLI mode (default: true) */ skipFirmwareIdentification?: boolean; /** * Whether configuration files should be loaded (default: true) */ loadConfiguration?: boolean; portAddress: string; fs?: FileSystem; } export declare function createAndStartTestingDriver(options?: Partial & PartialZWaveOptions): Promise; //# sourceMappingURL=DriverMock.d.ts.map