import type { BindingDependencies } from '../binding/types/binding-dependencies'; import type { InferBindingValueTypes } from '../binding/types/infer-binding-value-types'; import type { ReadonlyBinding } from '../binding/types/readonly-binding'; import type { DerivedBindingOptions } from './derived-binding/options'; /** * Called to extract the second-level binding on the initial render and anytime the dependencies change. * * @param bindingValues - The extracted values of bindings. * @param bindings - The original bindings. * * @returns The second-level binding (i.e. a binding determined dynamically by executing this function) */ export type UseFlattenedBindingTransformer = (bindingValues: InferBindingValueTypes, bindings: DependenciesT) => ReadonlyBinding; /** Use when a binding contains another binding, to listen to the second-level binding if either the first or second levels change */ export declare const useFlattenedBinding: (bindings: DependenciesT | undefined, transformer: UseFlattenedBindingTransformer, options: DerivedBindingOptions) => ReadonlyBinding; //# sourceMappingURL=flattened-binding.d.ts.map