import type { IrType } from "../types/index.js";
import { type CallQuery, type RawSignatureInfo, type ResolvedCall, type Site, type TypeSystemState } from "./type-system-state.js";
type WorkingPredicate = ResolvedCall["typePredicate"];
export type MethodTypeSubstitutionResult = {
    readonly kind: "ok";
    readonly substitution: ReadonlyMap<string, IrType>;
} | {
    readonly kind: "error";
};
export declare const resolveMethodTypeSubstitution: (state: TypeSystemState, rawSig: RawSignatureInfo, query: Pick<CallQuery, "argTypes" | "explicitTypeArgs" | "expectedReturnType" | "receiverType">, site: Site | undefined, workingParams: readonly (IrType | undefined)[], workingThisParam: IrType | undefined, workingReturn: IrType, _workingPredicate: WorkingPredicate) => MethodTypeSubstitutionResult;
export {};
//# sourceMappingURL=call-resolution-method-substitution.d.ts.map