import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { OrganizationAuthClient } from './organization-auth-client';
export type AcceptInvitationParams<TAuthClient extends OrganizationAuthClient> = Parameters<TAuthClient["organization"]["acceptInvitation"]>[0];
export type AcceptInvitationOptions<TAuthClient extends OrganizationAuthClient> = Omit<ReturnType<typeof acceptInvitationOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/**
 * Mutation options factory for accepting an organization invitation.
 *
 * @param authClient - The Better Auth organization client.
 * @param userId - The current signed-in user's ID. Used for cache invalidation.
 */
export declare function acceptInvitationOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId?: string): MutationOptions<Awaited<ReturnType<(params: AcceptInvitationParams<TAuthClient>) => Promise<{
    invitation: {
        id: string;
        organizationId: string;
        email: string;
        role: "admin" | "member" | "owner";
        status: import('better-auth/client').InvitationStatus;
        inviterId: string;
        expiresAt: Date;
        createdAt: Date;
    };
    member: {
        id: string;
        organizationId: string;
        userId: string;
        role: string;
        createdAt: Date;
    };
}>>>, BetterFetchError, Parameters<(params: AcceptInvitationParams<TAuthClient>) => Promise<{
    invitation: {
        id: string;
        organizationId: string;
        email: string;
        role: "admin" | "member" | "owner";
        status: import('better-auth/client').InvitationStatus;
        inviterId: string;
        expiresAt: Date;
        createdAt: Date;
    };
    member: {
        id: string;
        organizationId: string;
        userId: string;
        role: string;
        createdAt: Date;
    };
}>>[0]>;
