import type { BulkReadSource } from '../types/schema';
export interface RfSheetDataStore {
    /** Map<entityName, Map<entityId, fields>> */
    entityData: Map<string, Map<number, Record<string, unknown>>>;
    /** Entities the user doesn't have permission to read */
    unauthorizedEntities: Set<string>;
    /** Whether data is currently being fetched */
    isLoading: boolean;
    /** Last fetch error (if any) */
    error: string | null;
    /** Manually trigger a refresh */
    refresh: () => void;
    /** Get a specific field value */
    getEntityField: (entity: string, id: number, field: string) => unknown;
    /** Get all rows for an entity */
    getAllEntityRows: (entity: string) => Array<{
        id: number;
        fields: Record<string, unknown>;
    }>;
    /** Fields that have been fetched per entity */
    fetchedFields: Map<string, Set<string>>;
    /** Request additional fields — triggers incremental fetch if needed */
    requestFields: (entityName: string, fields: string[]) => void;
}
export declare function useRfSheetData(sources: BulkReadSource[], refreshIntervalSeconds?: number): RfSheetDataStore;
