/** Which Chromium-family build was found, for provenance and logging. */ export type BrowserFamily = 'edge' | 'chrome' | 'chromium' | 'unknown'; /** One resolved browser executable. */ export interface BrowserCandidate { path: string; family: BrowserFamily; } /** A resolved browser plus the version string the binary reported. */ export interface BrowserInfo extends BrowserCandidate { version: string; } /** * Conventional install locations for each supported platform. * * @param platform - `process.platform`. * @param env - environment, for `PROGRAMFILES` and friends. * @returns candidate paths, most preferred first. */ export declare function browserCandidates(platform: string, env: Record): string[]; /** * Classify a path by its executable name. * * @param executable - resolved path. * @returns the family it belongs to. */ export declare function familyOf(executable: string): BrowserFamily; /** * Resolve a browser without starting one. * * @param options - explicit path from settings, platform and environment. * @returns the first existing candidate, or undefined. */ export declare function resolveBrowser(options: { explicitPath?: string | undefined; platform?: string; env?: Record; }): BrowserCandidate | undefined; /** * Ask a browser for its version. Never throws: a browser that cannot answer is * still usable for rendering, it just has no version to report. * * @param executable - browser path. * @returns the version string, or an empty string. */ export declare function browserVersion(executable: string): Promise; /** * Resolve and identify the browser in one step. * * @param options - explicit path from settings. * @returns the browser with its version, or undefined when none exists. */ export declare function probeBrowser(options?: { explicitPath?: string | undefined; }): Promise;