import type { BrowserInfo } from '../types';
import { isMsEdge } from './browser-identity';
import { discoverBrowserVersion, getBrowserCandidates } from './browser-candidates';
import { getDefaultDriverDir } from './storage';
interface DriverResolveOpts {
    browserName?: string;
    executable?: string;
    executableDir?: string;
}
/**
 * Determine the MSEdgeDriver executable path for the current session request.
 * It returns opts.executable if it is provided.
 * If not, it checks whether the browser is Microsoft Edge and returns undefined for non-Edge sessions.
 * For Edge sessions it prefers an existing executable from opts.executableDir, then falls back to
 * resolving, downloading, and deploying a compatible driver artifact when autodownload is enabled.
 * If any step fails for a Microsoft Edge session, it throws an error.
 * @param opts The options for resolving the driver executable.
 * @param browserVersionInfo The information about the browser version.
 * @param isAutodownloadEnabled Whether autodownload is enabled (default: true).
 * @returns The path to the driver executable, or undefined if it cannot be resolved.
 * @throws Error if the browser is Microsoft Edge but the executable cannot be resolved.
 */
export declare function determineDriverExecutable(opts: DriverResolveOpts, browserVersionInfo?: BrowserInfo, isAutodownloadEnabled?: boolean): Promise<string | undefined>;
export { getDefaultDriverDir, isMsEdge };
export { discoverBrowserVersion as discoverMsEdgeBrowserVersion, getBrowserCandidates as getMsEdgeBrowserCandidates, determineDriverExecutable as determineMsEdgeDriverExecutable, getDefaultDriverDir as getDefaultMsEdgeDriverDir, };
//# sourceMappingURL=index.d.ts.map