import { AdbDevice, AdbDeviceInfo } from './types';
export interface AdbExecOptions {
    serial?: string;
    timeoutMs?: number;
    maxBufferBytes?: number;
}
export interface AdbExecResult {
    stdout: string;
    stderr: string;
}
export declare class AdbService {
    private adbPath;
    constructor(opts?: {
        adbPath?: string;
    });
    getAdbPath(): string;
    private execAdb;
    getVersion(): Promise<string | null>;
    isInstalled(): Promise<boolean>;
    listDevices(): Promise<AdbDevice[]>;
    shell(serial: string, command: string, options?: AdbExecOptions): Promise<string>;
    getAllProps(serial: string): Promise<Record<string, string>>;
    getDeviceInfo(serial: string): Promise<AdbDeviceInfo>;
    pull(serial: string, remotePath: string, localPath: string, options?: AdbExecOptions): Promise<void>;
    push(serial: string, localPath: string, remotePath: string, options?: AdbExecOptions): Promise<void>;
}
export declare function getAdbService(): AdbService;
//# sourceMappingURL=adbService.d.ts.map