import Library = require('./Library'); import type { JSONResponse, BuildTargetsResponse, CompileResponse, DeviceInfo, LibraryInfo, OKResponse, TrackingIdentityResponse } from './types'; interface ParticleApi { listLibraries(options: Record): Promise>; getLibrary(options: Record): Promise>; getLibraryVersions(options: Record): Promise>; contributeLibrary(options: Record): Promise>; publishLibrary(options: Record): Promise>; deleteLibrary(options: Record): Promise>; downloadFile(options: { uri: string; headers?: Record; }): Promise; compileCode(options: Record): Promise>; signalDevice(options: Record): Promise>; listDevices(options: Record): Promise>; listBuildTargets(options: Record): Promise>; trackingIdentity(options: Record): Promise>; } interface ClientOptions { auth?: string; api?: ParticleApi; } declare class Client { auth: string | undefined; api: ParticleApi; constructor({ auth, api }: ClientOptions); ready(): boolean; libraries(query?: Record): Promise; library(name: string, query?: Record): Promise; libraryVersions(name?: string, query?: Record): Promise; contributeLibrary(archive: string | Buffer): Promise; publishLibrary(name: string): Promise; deleteLibrary({ name, force }: { name: string; force?: string; }): Promise; _throwError(error: { body?: { errors?: Array<{ message: string; }>; }; }): never; downloadFile(uri: string): Promise; compileCode(files: Record, platformId: number, targetVersion: string): Promise>; signalDevice({ signal, deviceId }: { signal: boolean; deviceId: string; }): Promise>; listDevices(): Promise>; listBuildTargets(): Promise>; trackingIdentity({ full, context }?: { full?: boolean; context?: object; }): Promise<{ id: string; email: string; }>; } declare namespace Client { type Api = ParticleApi; } export = Client; //# sourceMappingURL=Client.d.ts.map