import type { MaybePromiseLike } from "@yume-chan/async"; import type { MaybeConsumable, ReadableWritablePair } from "@yume-chan/stream-extra"; import type { AdbBanner } from "./banner.js"; import type { AdbFrameBuffer } from "./commands/index.js"; import { AdbPower, AdbReverseService, AdbSubprocessService, AdbSync, AdbTcpIpService } from "./commands/index.js"; import type { AdbFeature } from "./features.js"; export interface Closeable { close(): MaybePromiseLike; } /** * Represents an ADB socket. */ export interface AdbSocket extends ReadableWritablePair>, Closeable { get service(): string; get closed(): Promise; } export type AdbIncomingSocketHandler = (socket: AdbSocket) => MaybePromiseLike; export interface AdbTransport extends Closeable { readonly serial: string; readonly maxPayloadSize: number; readonly banner: AdbBanner; readonly disconnected: Promise; readonly clientFeatures: readonly AdbFeature[]; connect(service: string): MaybePromiseLike; addReverseTunnel(handler: AdbIncomingSocketHandler, address?: string): MaybePromiseLike; removeReverseTunnel(address: string): MaybePromiseLike; clearReverseTunnels(): MaybePromiseLike; } export declare class Adb implements Closeable { #private; get transport(): AdbTransport; get serial(): string; get maxPayloadSize(): number; get banner(): AdbBanner; get disconnected(): Promise; get clientFeatures(): readonly AdbFeature[]; get deviceFeatures(): readonly AdbFeature[]; readonly subprocess: AdbSubprocessService; readonly power: AdbPower; readonly reverse: AdbReverseService; readonly tcpip: AdbTcpIpService; constructor(transport: AdbTransport); canUseFeature(feature: AdbFeature): boolean; /** * Creates a new ADB Socket to the specified service or socket address. */ createSocket(service: string): Promise; createSocketAndWait(service: string): Promise; getProp(key: string): Promise; rm(filenames: string | readonly string[], options?: { recursive?: boolean; force?: boolean; }): Promise; sync(): Promise; framebuffer(): Promise; close(): Promise; } //# sourceMappingURL=adb.d.ts.map