import type { CommandMatchSource, ToolExecutionInput } from "../types.js";
export type CommandMatchCandidate = {
    argv: string[];
    source: CommandMatchSource;
    command?: string;
};
export declare function getSourcePriority(source: CommandMatchSource): number;
export declare function getCandidateArgv(input: Pick<ToolExecutionInput, "argv" | "command">): string[];
export declare function dedupeCandidates(candidates: CommandMatchCandidate[]): CommandMatchCandidate[];
export declare function unwrapShellRunner(input: Pick<ToolExecutionInput, "argv" | "command">): string | null;
export declare function stripLeadingEnvAssignments(argv: string[]): string[];
export declare function isSetupWrapperSegment(argv: string[]): boolean;
export declare function buildEffectiveCandidate(argv: string[], transformed: boolean, command?: string): CommandMatchCandidate | null;
export declare function resolveEffectiveCommand(input: Pick<ToolExecutionInput, "argv" | "command">): CommandMatchCandidate | null;
export declare function getEffectiveCommandArgv(input: Pick<ToolExecutionInput, "argv" | "command">): string[];
export declare function deriveCommandMatchCandidates(input: Pick<ToolExecutionInput, "argv" | "command">): CommandMatchCandidate[];
