export declare const DEFAULT_API_URL = "https://api.mobilenext.ai"; export type DeviceStatus = 'provisioning' | 'in_use' | 'released'; export interface DeviceFilter { attribute: 'platform' | 'type' | 'name' | 'version'; operator: 'EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUALS' | 'LESS_THAN' | 'LESS_THAN_OR_EQUALS' | 'STARTS_WITH' | 'CONTAINS'; value: string; } export interface SessionDevice { /** Allocation id — stable and always present, including while provisioning. Not the physical id. */ id: string; status: DeviceStatus; info: { platform: string; type?: string; name: string; osVersion: string; /** The physical device id (UDID/serial). Absent while provisioning; this is what device tools accept. */ serial?: string; }; createdAt: string; releasedAt?: string; } export interface FleetApiClientOptions { apiKey: string; apiUrl?: string; /** Timeout waiting for a provisioning device to become in_use, in ms. Default: 300000 (5 min). */ allocationTimeout?: number; /** Timeout for a single HTTP request, in ms. Bounds a stalled fetch. Default: 30000. */ requestTimeout?: number; /** Injected for testing. Defaults to the global fetch. */ fetchFn?: typeof fetch; } /** * REST client for the mobilefleet sessions/devices API. A session is created once per test run; * each device allocation lives under that session and is addressed by its physical serial. */ export declare class FleetApiClient { private readonly apiKey; private readonly apiUrl; private readonly allocationTimeout; private readonly requestTimeout; private readonly fetchFn; constructor(options: FleetApiClientOptions); createSession(): Promise; /** * Allocates a device into the session and waits until it is in_use (has a serial). A pre-booted * device is ready immediately; an on-demand one provisions for minutes before landing. */ allocateDevice(sessionId: string, filters: DeviceFilter[], signal?: AbortSignal): Promise; /** Releases a device back to the pool. Addressed by serial, the same id device tools accept. */ releaseDevice(sessionId: string, serial: string): Promise; private waitForDevice; private request; private errorDetail; } //# sourceMappingURL=fleet-api.d.ts.map