import { type BuiltinBackendType } from "../config.js"; import { resolveExecutable } from "../platform/executable.js"; export interface BackendCapability { backend: BuiltinBackendType; platform: NodeJS.Platform; installed: boolean; version?: string; selectable: boolean; executable?: string; reason?: string; } export interface ProbeBackendOptions { platform?: NodeJS.Platform; env?: NodeJS.ProcessEnv; resolveCommand?: typeof resolveExecutable; runVersion?: (command: string, args: string[], windowsVerbatimArguments?: boolean) => string; verifyVersion?: boolean; } export interface ProbeBackendAsyncOptions extends Omit { runVersionAsync?: (command: string, args: string[]) => Promise; } export declare function probeBackendCapability(rawBackend: string, options?: ProbeBackendOptions): BackendCapability | undefined; export declare function probeAllBackendCapabilities(options?: ProbeBackendOptions): BackendCapability[]; export declare function probeBackendCapabilityAsync(rawBackend: string, options?: ProbeBackendAsyncOptions): Promise; export declare function probeAllBackendCapabilitiesAsync(options?: ProbeBackendAsyncOptions): Promise;