/**
 * use_file_status - Hook for polling file statuses from hazo_files.
 *
 * Collects all file_ids from __files_ / __private_files_ keys in form_data,
 * then periodically calls file_manager.callbacks.get_status() to check
 * whether any files are missing, orphaned, or soft-deleted.
 */
import type { FileStatus } from '../types/file_attachment.js';
import type { FileManagerCallbacks } from '../types/file_manager.js';
export interface UseFileStatusOptions {
    /** Form data containing __files_ and __private_files_ keys */
    form_data: Record<string, unknown>;
    /** File manager callbacks (must include get_status) */
    callbacks?: FileManagerCallbacks;
    /** Whether status checking is enabled */
    enabled?: boolean;
    /** Polling interval in ms (default: 60000 = 1 minute, 0 = no polling) */
    poll_interval?: number;
}
export interface UseFileStatusResult {
    /** Map of file_id -> FileStatus */
    statuses: Record<string, FileStatus>;
    /** Whether a status check is in progress */
    loading: boolean;
    /** Manually trigger a status refresh */
    refresh: () => void;
}
export declare function use_file_status({ form_data, callbacks, enabled, poll_interval, }: UseFileStatusOptions): UseFileStatusResult;
//# sourceMappingURL=use_file_status.d.ts.map