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

export type MutatePostVariables = {
    id: number;
};
export type RemovePostMutationType = MutationObserver<void, Error, MutatePostVariables, PostMutationContextType>;
export type DeleteForeverPostMutationType = MutationObserver<void, Error, MutatePostVariables, PostMutationContextType>;
export declare function getTrashPostMutationOptions(weavyContext: WeavyContextType, app: AppType): {
    mutationKey: MutationKey;
    mutationFn: ({ id }: MutatePostVariables) => Promise<void>;
    onMutate: (variables: MutatePostVariables) => Promise<PostMutationContextType>;
    onSuccess: (data: void, variables: MutatePostVariables) => void;
};
export declare function getTrashPostMutation(weavyContext: WeavyContextType, app: AppType): RemovePostMutationType;
export declare function getRestorePostMutationOptions(weavyContext: WeavyContextType, app: AppType): {
    mutationKey: MutationKey;
    mutationFn: ({ id }: MutatePostVariables) => Promise<void>;
    onMutate: (variables: MutatePostVariables) => Promise<PostMutationContextType>;
    onSuccess: (data: void, variables: MutatePostVariables) => void;
};
export declare function getRestorePostMutation(weavyContext: WeavyContextType, app: AppType): RemovePostMutationType;
//# sourceMappingURL=post-remove.d.ts.map