import { type ShallowRef } from "vue";
import type { ResourceClient } from "./resource-client.js";
import type { AgentStore } from "./store.js";
import type { AgentStoreSnapshot, ResourceClientSnapshot } from "./types.js";
/**
* Subscribe to an {@link AgentStore} and return a reactive snapshot ref.
*
* Uses `shallowRef` for fine-grained reactivity — Vue templates and computed
* properties that read `snapshot.value.messages` etc. will update automatically.
* The subscription is cleaned up automatically when the owning scope is disposed
* (e.g. when the component unmounts).
*
* @param store - The store to subscribe to.
* @returns A `ShallowRef` whose `.value` is the current immutable state snapshot.
*
* @example
* ```vue
*
* ```
* @docLink packages/store/concepts#vue-composables
*/
export declare function useAgentStore(store: AgentStore): ShallowRef;
/**
* Subscribe to a {@link ResourceClient} and return a reactive snapshot ref.
*
* Re-renders only when the agent emits a `resources_available` event (typically
* once on connect). The subscription is cleaned up automatically when the owning
* scope is disposed.
*
* @param client - The resource client to subscribe to.
* @returns A `ShallowRef` whose `.value` is the current resource snapshot.
*
* @example
* ```vue
*
* ```
* @docLink packages/store/concepts#vue-composables
*/
export declare function useResourceClient(client: ResourceClient): ShallowRef;
//# sourceMappingURL=vue.d.ts.map