import { MutationKey, MutationObserver } from '@tanstack/query-core';
import { WeavyContextType } from '../client/weavy';
import { PostMutationContextType } from '../types/posts.types';
import { CommentMutationContextType } from '../types/comments.types';

export type MutateCommentVariables = {
    id: number;
    appId: number;
    type: "posts" | "files" | "apps";
    parentId: number;
};
export type RemoveCommentMutationType = MutationObserver<void, Error, MutateCommentVariables, CommentMutationContextType>;
export declare function getTrashCommentMutationOptions(weavyContext: WeavyContextType, parentId: number): {
    mutationKey: MutationKey;
    mutationFn: ({ id }: MutateCommentVariables) => Promise<void>;
    onMutate: (variables: MutateCommentVariables) => Promise<CommentMutationContextType>;
    onSuccess: (data: void, variables: MutateCommentVariables) => void;
};
export declare function getTrashCommentMutation(weavyContext: WeavyContextType, parentId: number): RemoveCommentMutationType;
export declare function getRestoreCommentMutationOptions(weavyContext: WeavyContextType, parentId: number): {
    mutationKey: MutationKey;
    mutationFn: ({ id }: MutateCommentVariables) => Promise<void>;
    onMutate: (variables: MutateCommentVariables) => Promise<PostMutationContextType>;
    onSuccess: (data: void, variables: MutateCommentVariables) => void;
};
export declare function getRestoreCommentMutation(weavyContext: WeavyContextType, parentId: number): RemoveCommentMutationType;
//# sourceMappingURL=comment-remove.d.ts.map