import { UseConfig } from '../types.internal.js'; import { ModernHookReturn, LegacyHookReturn } from '../hooks/types.js'; import { Source, Producer, ProducerConfig, State } from 'async-states'; type Api = { (): Source; source: Source; define(fn: Producer, config?: ProducerConfig): Api; useData>(config?: UseConfig, deps?: any[]): ModernHookReturn; useAsync>(config?: UseConfig, deps?: any[]): LegacyHookReturn; }; type AnyApi = Api; type AppShape = Record>; type App = { [resource in keyof TApp]: Resource; }; type Resource> = { [api in keyof TResource]: TResource[api]; }; export { AnyApi, Api, App, AppShape, Resource };