import { IAction } from "../_types/IAction"; import { IActionBinding } from "../_types/IActionBinding"; import { IBindingCreatorConfig, IBindingCreatorConfigOrData } from "../_types/IBindingCreator"; import { TIsBindingForAction } from "./_types/TIsBindingForAction"; /** * Adds a requirement to createBinding such that it only accepts bindings that are directly or indirectly for the specified target action * @param action The action to add the createBinding requirement to * @param targetAction The action that the meta bindings should be fore * @returns The same input action with the additional input requirement */ export declare function addBindingCreatorRequirement(action: A, targetAction: T): A extends { createBinding(binding: infer BI, ...rest: infer I): infer O; } ? Omit & { /** * Creates a new action binding * @param config The data for the binding, and optionally extra configuration * @returns The created binding */ createBinding(binding: B & (B extends IActionBinding ? TIsBindingForAction : B extends IBindingCreatorConfigOrData ? K extends IActionBinding ? IBindingCreatorConfig> : unknown : unknown), ...rest: I): O; } : A; //# sourceMappingURL=addBindingCreatorRequirement.d.ts.map