import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { OAuthProviderAuthClient } from './oauth-provider-auth-client';
export type DeleteOAuthConsentParams<TAuthClient extends OAuthProviderAuthClient = OAuthProviderAuthClient> = Parameters<TAuthClient["oauth2"]["deleteConsent"]>[0];
export type DeleteOAuthConsentOptions<TAuthClient extends OAuthProviderAuthClient = OAuthProviderAuthClient> = Omit<ReturnType<typeof deleteOAuthConsentOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/**
 * Mutation options factory for deleting a stored OAuth consent record.
 *
 * Deleting a consent means the application has to ask for approval again. It
 * does not revoke access tokens that were already issued.
 *
 * @param authClient - The Better Auth client with the OAuth provider plugin.
 * @param userId - The signed-in user's ID. Used to invalidate consent queries.
 */
export declare function deleteOAuthConsentOptions<TAuthClient extends OAuthProviderAuthClient>(authClient: TAuthClient, userId?: string): MutationOptions<Awaited<ReturnType<(params: DeleteOAuthConsentParams<TAuthClient>) => Promise<NonNullable<void>>>>, BetterFetchError, Parameters<(params: DeleteOAuthConsentParams<TAuthClient>) => Promise<NonNullable<void>>>[0]>;
