import { ResourceElement } from "./core/types.js";
import { LifecycleHost } from "./core/lifecycle.js";

//#region src/tapResourceRoot.d.ts
declare namespace tapResourceRoot {
  type Unsubscribe = () => void;
  interface SubscribableResource<TState> {
    /**
     * Get the current state of the store.
     */
    getValue(): TState;
    /**
     * Subscribe to the store.
     */
    subscribe(listener: () => void): Unsubscribe;
  }
}
declare const tapResourceRoot: <TState>(element: ResourceElement<TState>, host?: LifecycleHost) => tapResourceRoot.SubscribableResource<TState>;
//#endregion
export { tapResourceRoot };
//# sourceMappingURL=tapResourceRoot.d.ts.map