import { Binding } from '../../binding/models/Binding';
import { InternalBindingConstraints } from '../../binding/models/BindingConstraintsImplementation';
import { SingleImmutableLinkedList } from '../../common/models/SingleImmutableLinkedList';
import { PlanServiceNodeBindingAddedResult } from '../../metadata/models/PlanServiceNodeBindingAddedResult';
import { BasePlanParams } from '../models/BasePlanParams';
import { PlanServiceNode } from '../models/PlanServiceNode';
/**
 * Attach a binding to a service node if the binding is context-free.
 * @param params The plan parameters.
 * @param serviceNode The service node to attach the binding to.
 * @param binding The binding to attach.
 * @param bindingConstraintsList The list of binding constraints.
 * @param chainedBindings Whether the bindings are chained.
 * @returns True if the binding requires ancestor metadata, false otherwise.
 */
export declare function addServiceNodeBindingIfContextFree(params: BasePlanParams, serviceNode: PlanServiceNode, binding: Binding<unknown>, bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>, chainedBindings: boolean): PlanServiceNodeBindingAddedResult;
//# sourceMappingURL=addServiceNodeBindingIfContextFree.d.ts.map