/** The path/url calling-convention remedy, owned by the resolved import. */ import { type Expression } from "../../ast.ts"; import { type Diagnostic, type DiagnosticFix } from "../../diagnostic.ts"; import { type Span } from "../../source.ts"; import { type ValueType } from "../../types.ts"; export interface JoinGuidanceHost { readonly diagnostics: Diagnostic[]; readonly sourceText: string; importedMemberOf(name: string): { readonly source: string; readonly imported: string | null; } | null; inferExpression(expression: Expression): ValueType; commentPreservingMechanicalFix(rewriteSpan: Span, replacement: string, title: string): DiagnosticFix | undefined; } /** * A positional path join or a List-literal URL join has one unambiguous * remedy. Resolve the binding's original export, not its local spelling: a * renamed join keeps its contract, while another export called join does not * acquire one. Values with merely incompatible types keep ordinary checking. */ export declare function inferCrossConventionJoinCall(host: JoinGuidanceHost, callee: Expression, arguments_: readonly Expression[], argumentNames: readonly (string | null)[] | undefined, callSpan: Span): ValueType | null; //# sourceMappingURL=join-guidance.d.ts.map