import type { CliBinarySpec } from './clis/cli-module.js'; export declare function parseWindowsShimTargets(contents: string, shimPath: string): string[]; export declare function windowsShimIsUsable(shimPath: string, opts: { read: (p: string) => string | null; exists: (p: string) => boolean; }): boolean; export declare function normalizeWindowsExecutablePath(value: string): string; export declare function canonicalizeResolvedBin(bin: string, windows?: boolean): string; export declare function assertCliExecutable(bin: string, cliType: string): void; export interface SelectedBinary { bin: string; kind: 'exe' | 'shim' | 'literal'; } export declare function selectBinary(cliType: string, sources: Array, opts: { isWindows: boolean; exists: (p: string) => boolean; shimUsable?: (p: string) => boolean; }): SelectedBinary; export declare function scanPathForBinary(cliType: string, pathValue: string | null | undefined, opts: { isWindows: boolean; pathExt?: string | null; exists: (p: string) => boolean; }): string[]; export declare function orderResolutionSources(wellKnown: string[], pathHits: string[]): string[]; export declare function registerCliBinarySpec(cliId: string, spec: CliBinarySpec): void; export declare function isRegisteredCliId(id: string): boolean; export declare function binarySpecFor(nameOrId: string): CliBinarySpec | null; export declare function resolveBinOverride(cliType: string, delegation: object | null | undefined, runtimeProfileExecutableOverride?: string | null): string | null; export declare function listCliBinCandidates(cliType: string): string[]; export declare function canonicalPathKey(p: string): string; export declare function resolveCliBin(cliType: string, configured?: string | null): string; export declare function _resetResolverCache(): void; export declare function invalidateCliBinCache(cliType: string): void;