import WebSocketAsPromised from "websocket-as-promised"; import { ConnectSimulatorOptions, HaloCommandObject, HaloResponseObject, SimulatorOptions } from "../types.js"; import { SignalDispatcher } from "strongly-typed-events"; import { Buffer } from "buffer/index.js"; import { BaseHaloAPI } from "./cmd_exec.js"; declare class HaloSimulator { protected url: string | null; protected consoleUrl: string | null; protected readonly createWebSocket: (url: string) => WebSocket; protected ws: WebSocketAsPromised | null; protected _onDisconnected: SignalDispatcher; protected noDebugPrints: boolean; protected disconnectReason: unknown | null; constructor(options?: SimulatorOptions); protected signJWT(url: string, authSecret: string, csetId: string, simInstance: string, exp: string): Promise; makeSignedURL(url: string, authSecret: string, csetId: string, simInstance: string, exp: string): Promise; connect(options: ConnectSimulatorOptions): Promise; getDisconnectReason(): unknown; getConsoleURL(): string; resetCardSet(options: Record): Promise; destroyCardSet(): Promise; swapCard(cardId: number): Promise; protected waitForPacket(packetType: string, timeout: number): Promise; disconnect(): Promise; onDisconnected(): import("strongly-typed-events").ISignal; protected unwrapRAPDU(response: Record): Buffer; execRawAPDU(data: Buffer): Promise; execHaloCmd(command: HaloCommandObject): Promise; } declare class SimHaloAPI extends BaseHaloAPI { protected readonly sim: HaloSimulator; constructor(options?: SimulatorOptions); connect(options: ConnectSimulatorOptions): Promise; resetCardSet(options: Record): Promise; destroyCardSet(): Promise; swapCard(cardId: number): Promise; execRawAPDU(data: Buffer): Promise; executeCommand(args: HaloCommandObject): Promise; } export { HaloSimulator, SimHaloAPI }; //# sourceMappingURL=simulator.d.ts.map