import type { InferBindingGetType, ReadonlyBinding } from 'react-bindings'; import type { InferWaitableSuccessType } from './inference'; import type { Waitable } from './waitable'; /** Extracts the value types from waitables and bindings */ export type InferRequiredNamedWaitablesAndBindingValueTypes | ReadonlyBinding | undefined>> = { [KeyT in keyof NamedDependenciesT]: NamedDependenciesT[KeyT] extends Waitable ? InferWaitableSuccessType : NamedDependenciesT[KeyT] extends Waitable | undefined ? InferWaitableSuccessType | undefined : NamedDependenciesT[KeyT] extends ReadonlyBinding ? InferBindingGetType : NamedDependenciesT[KeyT] extends ReadonlyBinding | undefined ? InferBindingGetType | undefined : NamedDependenciesT[KeyT]; }; /** Extracts the value types from waitables and bindings */ export type InferOptionalNamedWaitablesAndBindingValueTypes | ReadonlyBinding | undefined>> = { [KeyT in keyof NamedDependenciesT]: NamedDependenciesT[KeyT] extends Waitable | undefined ? InferWaitableSuccessType | undefined : NamedDependenciesT[KeyT] extends ReadonlyBinding ? InferBindingGetType : NamedDependenciesT[KeyT] extends ReadonlyBinding | undefined ? InferBindingGetType | undefined : NamedDependenciesT[KeyT]; }; //# sourceMappingURL=infer-named-waitables-and-binding-value-types.d.ts.map