import * as React from 'react'; import type { ChatBoxSlots, ChatBoxSlotProps } from "../ChatBox/ChatBox.types.js"; export interface ChatSlotsContextValue { /** * The user-provided ChatBox slots (flat, prefixed vocabulary). NOT pre-merged * with a defaults map — default-component resolution stays inline at each use * site (`slots.messageContent ?? ChatMessageContent`) so that `null`-means-hide * is preserved (`null` is explicit; `undefined` falls back to the default). */ slots: ChatBoxSlots; slotProps: ChatBoxSlotProps; } /** * Distributes the flat `ChatBox` slots/slotProps to the message-rendering * pipeline (`ChatBoxContent`, `DefaultMessageItem`, `ChatMessageGroup`) without * prop-drilling. `null` (no provider) means "not inside a ChatBox" — standalone * components fall back to their own `slots` prop. */ export declare const ChatSlotsContext: React.Context; export interface ChatSlotsProviderProps { slots?: ChatBoxSlots; slotProps?: ChatBoxSlotProps; children: React.ReactNode; } export declare function ChatSlotsProvider(props: ChatSlotsProviderProps): import("react/jsx-runtime").JSX.Element; /** * Reads the ambient ChatBox slots. Returns empty maps when there is no * `ChatSlotsProvider` ancestor (e.g. a standalone styled component). */ export declare function useChatSlots(): ChatSlotsContextValue;