/**
 * Call-site analysis — Type template unification & substitution
 *
 * Type template unification, expected-return derivation, and type parameter
 * substitution for call/new expression converters. Split from
 * call-site-analysis.ts for file-size compliance.
 */
import { IrType } from "../../../types.js";
export type CallSiteArgModifier = "ref" | "out" | "in";
export declare const unifyTypeTemplate: (template: IrType, actual: IrType, substitutions: Map<string, IrType>) => boolean;
export declare const deriveSubstitutionsFromExpectedReturn: (returnTemplate: IrType | undefined, expectedCandidates: readonly IrType[] | undefined) => Map<string, IrType> | undefined;
export declare const substituteTypeParameters: (type: IrType | undefined, substitutions: ReadonlyMap<string, IrType>) => IrType | undefined;
//# sourceMappingURL=call-site-analysis-unification.d.ts.map