/**
 * Call Resolution Scoring — Arity checking, overload scoring, and parameter type refinement.
 *
 * Contains isArityCompatible, scoreSignatureMatch, refineParameterTypeForConcreteArgument,
 * and refineResolvedParameterTypesForArguments.
 *
 * DAG position: depends on type-system-state, type-system-relations, call-resolution-utilities
 */
import type { IrType } from "../types/index.js";
import type { MethodSignatureEntry } from "./internal/universe/types.js";
import type { TypeSystemState } from "./type-system-state.js";
export declare const isArityCompatible: (signature: MethodSignatureEntry, argumentCount: number) => boolean;
export declare const scoreSignatureMatch: (state: TypeSystemState, parameterTypes: readonly (IrType | undefined)[], argTypes: readonly (IrType | undefined)[], argumentCount: number) => number;
export declare const refineParameterTypeForConcreteArgument: (state: TypeSystemState, parameterType: IrType | undefined, argumentType: IrType | undefined) => IrType | undefined;
export declare const refineResolvedParameterTypesForArguments: (state: TypeSystemState, parameters: readonly {
    readonly isRest: boolean;
}[], parameterTypes: readonly (IrType | undefined)[], argTypes: readonly (IrType | undefined)[] | undefined, argumentCount: number) => readonly (IrType | undefined)[];
//# sourceMappingURL=call-resolution-scoring.d.ts.map