import { UpdateEntityProps } from "./useUpdateEntity";
import { Entity } from "../../interfaces/models/Entity";
export interface UseEntityDataProps {
    entity?: Entity;
    entityId?: string | undefined | null;
    referenceId?: string | undefined | null;
    shortId?: string | undefined | null;
    createIfNotFound?: boolean;
}
export interface UseEntityDataValues {
    entity: Entity | undefined | null;
    userUpvotedEntity: boolean;
    userDownvotedEntity: boolean;
    upvoteEntity: () => void;
    removeEntityUpvote: () => void;
    downvoteEntity: () => void;
    removeEntityDownvote: () => void;
    updateEntity(props: Pick<UpdateEntityProps, "update">): Promise<Entity | undefined>;
    incrementEntityViews: () => Promise<void>;
    deleteEntity: () => Promise<void>;
}
declare function useEntityData({ entityId, referenceId, shortId, entity: entityProp, createIfNotFound, }: UseEntityDataProps): UseEntityDataValues;
export default useEntityData;
