/**
 * Hook to check chat status for multiple fields at once
 * Returns a mapping of field_id -> ChatStatus ('none' | 'has_messages' | 'has_unread')
 * Used by HazoCollabFormView in edit and summary modes
 */
import type { ChatStatus } from '../components/hazo_collab_form_base.js';
export interface UseFieldChatStatusOptions {
    /**
     * Array of field IDs to check for messages
     */
    field_ids: string[];
    /**
     * Chat group ID for the chat (v3.0.0+)
     */
    chat_group_id: string | undefined;
    /**
     * Whether to enable the check (default: true)
     */
    enabled?: boolean;
    /**
     * Chat realtime mode
     * - 'polling': Automatically poll for new messages every 5 seconds
     * - 'manual': Disable automatic polling, only fetch once on mount and when refresh() is called
     * Default: 'polling'
     */
    realtime_mode?: 'polling' | 'manual';
    /**
     * Polling interval in milliseconds (default: 5000ms)
     */
    poll_interval?: number;
}
export interface UseFieldChatStatusResult {
    /**
     * Mapping of field_id -> ChatStatus
     */
    chat_status: Record<string, ChatStatus>;
    /**
     * Whether the hook is currently fetching
     */
    is_loading: boolean;
    /**
     * Current user ID (fetched from auth)
     */
    current_user_id: string | undefined;
    /**
     * Manually trigger a refresh of chat status
     */
    refresh: () => void;
}
/**
 * Hook to check chat status for multiple fields at once
 * Efficiently batches checks and returns status mapping
 */
export declare function use_field_chat_status({ field_ids, chat_group_id, enabled, realtime_mode, poll_interval, }: UseFieldChatStatusOptions): UseFieldChatStatusResult;
//# sourceMappingURL=use_field_chat_status.d.ts.map