export type VoteType = 'up' | 'down' | null;
export interface VoteState {
    [taskId: string]: VoteType;
}
export interface UseRoadmapVotingOptions {
    /** Vote endpoint URL. Default `/api/roadmap/vote`. */
    voteApiEndpoint?: string;
    /** localStorage key. Default `'roadmap_votes_v1'`. Embedders mounting
     *  multiple roadmap surfaces in the same origin can scope per-surface
     *  (e.g. `'roadmap_votes_v1_main'` vs `'roadmap_votes_v1_admin'`) so
     *  votes don't cross-contaminate. */
    storageKey?: string;
}
export declare function useRoadmapVoting(options?: UseRoadmapVotingOptions): {
    votes: VoteState;
    isLoading: boolean;
    getVote: (taskId: string) => VoteType;
    toggleVote: (taskId: string, voteType: "up" | "down") => Promise<{
        success: boolean;
        newVote: VoteType;
        action: "add" | "remove";
    }>;
    clearVotes: () => void;
};
//# sourceMappingURL=use-roadmap-voting.d.ts.map