import type { ThreadSummary } from '../../../index.js'; import type { AgentBackend } from '../backend.js'; export interface UseThreadsOptions { /** * The backend to list. Default: the enclosing ``'s. Must be STABLE across renders: * the list refreshes itself when a chat on the SAME backend creates a thread, settles a run or * streams a title. */ backend?: AgentBackend; /** `false` holds the first request (e.g. until the user is signed in). Default `true`. */ enabled?: boolean; } export interface ThreadsState { /** Newest first, as the server orders them. `[]` until loaded. */ threads: ThreadSummary[]; isLoading: boolean; error: Error | null; /** Ask the server again. */ refresh: () => Promise; /** Rename on the server; the list shows the new title at once and rolls back on failure. */ rename: (id: string, title: string) => Promise; /** Delete on the server; the thread leaves the list at once and comes back on failure. */ remove: (id: string) => Promise; } /** * The actor's conversations, kept current without the host wiring refetches: a chat on the same * backend reports thread creation and settled runs (refetch) and streamed titles (patched in * place). Headless — it renders nothing. */ export declare function useThreads(options?: UseThreadsOptions): ThreadsState; //# sourceMappingURL=use-threads.d.ts.map