import type { InferBindingGetType, ReadonlyBinding } from 'react-bindings'; import type { InferOptionalNamedWaitablesAndBindingValueTypes, InferRequiredNamedWaitablesAndBindingValueTypes } from './infer-named-waitables-and-binding-value-types'; import type { InferOptionalWaitableAndBindingArrayValueTypes, InferRequiredWaitableAndBindingArrayValueTypes } from './infer-waitable-and-binding-array-value-types'; import type { InferWaitableSuccessType } from './inference'; import type { Waitable } from './waitable'; import type { NamedWaitableDependencies, WaitableArrayDependencies, WaitableDependencies } from './waitable-dependencies'; /** Infers the values of either a single binding, bindings in an array or tuple, or a record with binding values */ export type InferRequiredWaitableAndBindingValueTypes = DependenciesT extends Waitable ? InferWaitableSuccessType : DependenciesT extends Waitable | undefined ? InferWaitableSuccessType | undefined : DependenciesT extends ReadonlyBinding ? InferBindingGetType : DependenciesT extends NamedWaitableDependencies ? InferRequiredNamedWaitablesAndBindingValueTypes : DependenciesT extends WaitableArrayDependencies ? InferRequiredWaitableAndBindingArrayValueTypes : Record; /** Infers the values of either a single binding, bindings in an array or tuple, or a record with binding values */ export type InferOptionalWaitableAndBindingValueTypes = DependenciesT extends Waitable | undefined ? InferWaitableSuccessType | undefined : DependenciesT extends ReadonlyBinding ? InferBindingGetType : DependenciesT extends NamedWaitableDependencies ? InferOptionalNamedWaitablesAndBindingValueTypes : DependenciesT extends WaitableArrayDependencies ? InferOptionalWaitableAndBindingArrayValueTypes : Record; //# sourceMappingURL=infer-waitable-and-binding-value-types.d.ts.map