import { type Binding } from '../../binding/models/Binding.js';
import { type InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation.js';
import { type SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList.js';
import { type ManagedClassElementMetadata } from '../../metadata/models/ManagedClassElementMetadata.js';
import { type BasePlanParams } from '../models/BasePlanParams.js';
import { type BindingNodeParent } from '../models/BindingNodeParent.js';
import { type PlanBindingNode } from '../models/PlanBindingNode.js';
import { type PlanServiceNode } from '../models/PlanServiceNode.js';
import { type SubplanParams } from '../models/SubplanParams.js';
export declare function curryBuildPlanServiceNodeFromClassElementMetadata(buildServiceNodeBindings: (params: BasePlanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, serviceBindings: Binding<unknown>[], parentNode: BindingNodeParent, chainedBindings: boolean) => PlanBindingNode[]): (params: SubplanParams, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, elementMetadata: ManagedClassElementMetadata) => PlanServiceNode;
//# sourceMappingURL=curryBuildPlanServiceNodeFromClassElementMetadata.d.ts.map