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