@better-auth-ui/core
Version:
Authentication components and data utilities for [Better Auth](https://better-auth.com), available for React and Solid.
71 lines (70 loc) • 2.32 kB
TypeScript
import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { OrganizationAuthClient } from './organization-auth-client';
export type LeaveOrganizationParams<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Parameters<TAuthClient["organization"]["leave"]>[0];
export type LeaveOrganizationOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Omit<ReturnType<typeof leaveOrganizationOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/**
* Mutation options factory for leaving an organization.
*
* @param authClient - The Better Auth organization client.
* @param userId - The current signed-in user's ID. Used for cache invalidation.
*/
export declare function leaveOrganizationOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId?: string): MutationOptions<Awaited<ReturnType<(params: LeaveOrganizationParams<TAuthClient>) => Promise<NonNullable<Omit<{
id: string;
organizationId: string;
role: "admin" | "member" | "owner";
createdAt: Date;
userId: string;
user: {
id: string;
email: string;
name: string;
image?: string | undefined;
};
} & {
user: {
id: string;
createdAt: Date;
updatedAt: Date;
email: string;
emailVerified: boolean;
name: string;
image?: string | null | undefined;
};
}, "user"> & {
user: {
id: string;
name: string;
email: string;
image: string | undefined;
};
}>>>>, BetterFetchError, Parameters<(params: LeaveOrganizationParams<TAuthClient>) => Promise<NonNullable<Omit<{
id: string;
organizationId: string;
role: "admin" | "member" | "owner";
createdAt: Date;
userId: string;
user: {
id: string;
email: string;
name: string;
image?: string | undefined;
};
} & {
user: {
id: string;
createdAt: Date;
updatedAt: Date;
email: string;
emailVerified: boolean;
name: string;
image?: string | null | undefined;
};
}, "user"> & {
user: {
id: string;
name: string;
email: string;
image: string | undefined;
};
}>>>[0]>;