import type { AxiosRequestConfig } from 'axios';
import { OS, CPU } from './constants';
import type { ADB } from 'appium-adb';
import type { ChromedriverVersionMapping, OSInfo } from './types';
export declare const CHROMEDRIVER_CHROME_MAPPING: ChromedriverVersionMapping;
export declare const CD_BASE_DIR: string;
/**
 * Gets the most recent Chromedriver version from the mapping.
 * @param mapping - The Chromedriver version mapping (defaults to the static mapping).
 * @returns The most recent version string.
 * @throws {Error} If the mapping is empty.
 */
export declare function getMostRecentChromedriver(mapping?: ChromedriverVersionMapping): string;
export declare const CD_VER: string;
/**
 * Gets the Chrome version for a given bundle ID using ADB.
 * @param adb - The ADB instance to use.
 * @param bundleId - The bundle ID of the Chrome/WebView app.
 * @returns The version name string, or undefined if not found.
 */
export declare function getChromeVersion(adb: ADB, bundleId: string): Promise<string | undefined>;
/**
 * Gets the directory path for Chromedriver executables for a given OS.
 * @param osName - The OS name (defaults to the current OS).
 * @returns The full path to the Chromedriver directory.
 */
export declare function getChromedriverDir(osName?: string): string;
/**
 * Gets the path to the Chromedriver binary for a given OS.
 * @param osName - The OS name (defaults to the current OS).
 * @returns The full path to the Chromedriver binary.
 */
export declare function getChromedriverBinaryPath(osName?: string): Promise<string>;
/**
 * Retrieves data from a URL using axios.
 * @param url - The URL to fetch from.
 * @param headers - Optional HTTP headers.
 * @param opts - Optional configuration (timeout, responseType).
 * @returns The response data.
 */
export declare function retrieveData(url: string, headers?: AxiosRequestConfig['headers'], opts?: Pick<AxiosRequestConfig, 'timeout' | 'responseType'>): Promise<any>;
/**
 * Gets the OS name for the current system.
 * @returns The OS name ('win', 'mac', or 'linux').
 */
export declare const getOsName: (() => (typeof OS)[keyof typeof OS]) & {
    cache: Map<unknown, "linux" | "win" | "mac">;
};
/**
 * Gets the CPU type for the current system.
 * @returns The CPU type ('intel' or 'arm').
 */
export declare const getCpuType: (() => (typeof CPU)[keyof typeof CPU]) & {
    cache: Map<unknown, "intel" | "arm">;
};
/**
 * Gets OS information including name, architecture, and CPU type.
 * @returns A promise that resolves to OS information.
 */
export declare const getOsInfo: (() => Promise<OSInfo>) & {
    cache: Map<unknown, Promise<OSInfo>>;
};
/**
 * Generates log prefix string.
 * @param obj - Log owner instance.
 * @param sessionId - Optional session identifier.
 * @returns The generated log prefix string.
 */
export declare function generateLogPrefix(obj: any, sessionId?: string | null): string;
/**
 * Converts the given object to an integer number if possible.
 * @param value - The value to be converted.
 * @returns The integer value or null if conversion is not possible.
 */
export declare function convertToInt(value: any): number | null;
//# sourceMappingURL=utils.d.ts.map