export interface UseChatNewMessagesOptions {
    /**
     * Whether the scroll is currently locked (following content).
     * When locked, new messages don't flag — the user is already at the bottom.
     */
    isLocked: boolean;
    /**
     * Called on every content height change (new message or streaming growth).
     * Use to trigger scroll-if-locked in the scroll hook.
     */
    onResize?: () => void;
}
export interface UseChatNewMessagesReturn {
    /** Whether new messages arrived while the scroll was unlocked. */
    hasNewMessages: boolean;
    /** Dismiss the new messages flag. */
    dismiss: () => void;
    /**
     * Callback ref to attach to the content element.
     * Handles late mount — observer attaches whenever the element appears.
     */
    contentRef: (el: HTMLElement | null) => void;
}
export declare function useChatNewMessages({ isLocked, onResize, }: UseChatNewMessagesOptions): UseChatNewMessagesReturn;
//# sourceMappingURL=useChatNewMessages.d.ts.map