import type { OxyServices } from '../../core';
interface FollowState {
    followingUsers: Record<string, boolean>;
    loadingUsers: Record<string, boolean>;
    fetchingUsers: Record<string, boolean>;
    errors: Record<string, string | null>;
    followerCounts: Record<string, number>;
    followingCounts: Record<string, number>;
    loadingCounts: Record<string, boolean>;
    setFollowingStatus: (userId: string, isFollowing: boolean) => void;
    clearFollowError: (userId: string) => void;
    resetFollowState: () => void;
    fetchFollowStatus: (userId: string, oxyServices: OxyServices) => Promise<void>;
    toggleFollowUser: (userId: string, oxyServices: OxyServices, isCurrentlyFollowing: boolean) => Promise<void>;
    setFollowerCount: (userId: string, count: number) => void;
    setFollowingCount: (userId: string, count: number) => void;
    updateCountsFromFollowAction: (targetUserId: string, action: 'follow' | 'unfollow', counts: {
        followers: number;
        following: number;
    }, currentUserId?: string) => void;
    fetchUserCounts: (userId: string, oxyServices: OxyServices) => Promise<void>;
}
export declare const useFollowStore: import("zustand").UseBoundStore<import("zustand").StoreApi<FollowState>>;
export {};
//# sourceMappingURL=followStore.d.ts.map