/**
 * Call Resolution Parameters — Rest/optional parameter expansion and type candidate expansion
 *
 * Contains:
 * - expandParameterTypesForInference: expand rest params for inference
 * - expandParameterTypesForArguments: expand rest params for argument matching
 * - buildResolvedRestParameter: resolve rest parameter structure
 * - collectExpectedReturnCandidates: return type candidate expansion
 * - collectNarrowingCandidates: narrowing candidate expansion
 *
 * DAG position: depends on type-system-state
 */
import type { IrType } from "../types/index.js";
import type { TypeSystemState } from "./type-system-state.js";
export declare const expandParameterTypesForInference: (parameters: readonly {
    readonly isRest: boolean;
}[], parameterTypes: readonly (IrType | undefined)[], argumentCount: number) => readonly (IrType | undefined)[];
export declare const expandParameterTypesForArguments: (parameters: readonly {
    readonly isRest: boolean;
}[], parameterTypes: readonly (IrType | undefined)[], argumentCount: number) => readonly (IrType | undefined)[];
export declare const buildResolvedRestParameter: (parameterFlags: readonly {
    readonly isRest: boolean;
}[], parameterTypes: readonly (IrType | undefined)[]) => {
    readonly index: number;
    readonly arrayType: IrType | undefined;
    readonly elementType: IrType | undefined;
} | undefined;
export declare const collectExpectedReturnCandidates: (state: TypeSystemState, type: IrType) => readonly IrType[];
export declare const collectNarrowingCandidates: (state: TypeSystemState, type: IrType) => readonly IrType[];
//# sourceMappingURL=call-resolution-parameters.d.ts.map