import { ChatMetadataInput } from '../config/types'; export type ChatMetadataProvider = (input: ChatMetadataInput) => Record | undefined; /** * Register metadata for a chat. The provider is evaluated on every outgoing * message: at chat creation the result is persisted into the new chat's * `metadata` (and a returned `title` overrides the auto-generated title); on * every message — including the first — it is also merged into the message * payload's `metadata`, so values that can change mid-chat (e.g. an Office * `docSessionId` after a reconnect) stay current for the backend to read. The * backend re-persists it only at creation, so later messages never clobber the * stored chat metadata or title. * * Use it for chat-scoped or slowly-changing facts — the active document * name/path/session in an Office add-in, or the current record/tenant id. * (`usePageContext` remains the channel for per-message context that the user * can see and dismiss.) * * Example: * * ```ts * useChatMetadata(() => ({ documentName, documentPath }), [documentName, documentPath]) * ``` */ export declare const useChatMetadata: (provider: ChatMetadataProvider, deps?: unknown[]) => void; //# sourceMappingURL=useChatMetadata.d.ts.map