import type { BetterFetch, BetterFetchOption, InferInvitation, InferMember } from "better-auth/client"; import type { InferAdditionalFieldsFromPluginOptions } from "better-auth/db"; import type { OrganizationOptions } from "better-auth/plugins"; import type { BetterAuthOptions, Where } from "better-auth/types"; export interface OrganizationMemberClientOptions { schema?: OrganizationOptions["schema"]; } export interface OrganizationMemberClient { updateMember: = {}>(data: { memberId: string; organizationId?: string; data: { role?: string | string[]; } & Partial; fetchOptions?: BetterFetchOption; }) => Promise<{ data: any | null; error: Error | null; }>; updateInvitation: = {}>(data: { invitationId: string; organizationId?: string; data: { role?: string | string[]; } & Partial; fetchOptions?: BetterFetchOption; }) => Promise<{ data: any | null; error: Error | null; }>; listMembers: (data?: { query?: { limit?: number; offset?: number; sortBy?: string; sortDirection?: "asc" | "desc"; filterJson?: Where[]; filterField?: string; filterValue?: string | number | boolean; filterOperator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "contains"; organizationId?: string; organizationSlug?: string; }; fetchOptions?: BetterFetchOption; }) => Promise<{ data: { members: InferMember[]; total: number; } | null; error: Error | null; }>; listInvitations: (data?: { query?: { limit?: number; offset?: number; sortBy?: string; sortDirection?: "asc" | "desc"; filterJson?: Where[]; filterField?: string; filterValue?: string | number | boolean; filterOperator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "contains"; organizationId?: string; organizationSlug?: string; }; fetchOptions?: BetterFetchOption; }) => Promise<{ data: { invitations: InferInvitation[]; total: number; } | null; error: Error | null; }>; countInvitations: (data?: { query?: { filterJson?: Where[]; filterField?: string; filterValue?: string | number | boolean; filterOperator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "contains"; organizationId?: string; organizationSlug?: string; }; fetchOptions?: BetterFetchOption; }) => Promise<{ data: { count: number; } | null; error: Error | null; }>; } export declare const organizationMemberClient: (options?: CO) => { id: "organization-member"; $InferServerPlugin: ReturnType; getActions: ($fetch: BetterFetch) => { $Infer: { Member: InferMember; Invitation: InferInvitation; }; organization: { updateMember: (data: { memberId: string; organizationId?: string; data: { role?: string | string[]; } & Partial>; fetchOptions?: BetterFetchOption; }) => Promise<{ data: (CO["teams"] extends { enabled: true; } ? { id: string; organizationId: string; role: import("better-auth/plugins").InferOrganizationRolesFromOption; createdAt: Date; userId: string; teamId?: string | undefined; user: { id: string; email: string; name: string; image?: string | undefined; }; } : { id: string; organizationId: string; role: import("better-auth/plugins").InferOrganizationRolesFromOption; createdAt: Date; userId: string; user: { id: string; email: string; name: string; image?: string | undefined; }; }) & (CO["schema"] extends { member?: { additionalFields: infer Field extends Record; } | undefined; } ? import("better-auth/db").FieldAttributeToObject> : {}) extends infer T ? { [K in keyof T]: T[K]; } : never; error: null; } | { data: null; error: { message?: string | undefined; status: number; statusText: string; }; }>; updateInvitation: (data: { invitationId: string; organizationId?: string; data: { role?: string | string[]; } & Partial>; fetchOptions?: BetterFetchOption; }) => Promise<{ data: null; error: { message?: string | undefined; status: number; statusText: string; }; } | { data: (CO["teams"] extends { enabled: true; } ? { id: string; organizationId: string; email: string; role: import("better-auth/plugins").InferOrganizationRolesFromOption; status: import("better-auth/plugins").InvitationStatus; inviterId: string; expiresAt: Date; createdAt: Date; teamId?: string | undefined; } : { id: string; organizationId: string; email: string; role: import("better-auth/plugins").InferOrganizationRolesFromOption; status: import("better-auth/plugins").InvitationStatus; inviterId: string; expiresAt: Date; createdAt: Date; }) & (CO["schema"] extends { invitation?: { additionalFields: infer Field extends Record; } | undefined; } ? import("better-auth/db").FieldAttributeToObject> : {}) extends infer T ? { [K in keyof T]: T[K]; } : never; error: null; }>; listMembers: (data?: { query?: { limit?: number; offset?: number; sortBy?: string; sortDirection?: "asc" | "desc"; filterJson?: Where[]; filterField?: string; filterValue?: string | number | boolean; filterOperator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "contains"; organizationId?: string; organizationSlug?: string; }; fetchOptions?: BetterFetchOption; }) => Promise<{ data: null; error: { message?: string | undefined; status: number; statusText: string; }; } | { data: { members: InferMember[]; total: number; }; error: null; }>; listInvitations: (data?: { query?: { limit?: number; offset?: number; sortBy?: string; sortDirection?: "asc" | "desc"; filterJson?: Where[]; filterField?: string; filterValue?: string | number | boolean; filterOperator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "contains"; organizationId?: string; organizationSlug?: string; }; fetchOptions?: BetterFetchOption; }) => Promise<{ data: null; error: { message?: string | undefined; status: number; statusText: string; }; } | { data: { invitations: InferInvitation[]; total: number; }; error: null; }>; countInvitations: (data?: { query?: { filterJson?: Where[]; filterField?: string; filterValue?: string | number | boolean; filterOperator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "contains"; organizationId?: string; organizationSlug?: string; }; fetchOptions?: BetterFetchOption; }) => Promise<{ data: null; error: { message?: string | undefined; status: number; statusText: string; }; } | { data: { count: number; }; error: null; }>; }; }; }; /** * Infer additional fields from the auth object type or schema * Similar to inferOrgAdditionalFields from better-auth/plugins/organization/client */ export declare const inferOrgMemberAdditionalFields: (schema?: S | undefined) => undefined extends S ? O extends Object ? O extends Exclude ? O : ((O extends { options: any; } ? O : { options: { plugins: []; }; })["options"]["plugins"][number] extends infer T ? T extends (O extends { options: any; } ? O : { options: { plugins: []; }; })["options"]["plugins"][number] ? T extends { id: "organization-member"; } ? T : never : never : never) extends { options: { schema: infer S_1; }; } ? S_1 extends { session?: { fields?: { activeOrganizationId?: string; activeTeamId?: string; }; }; organization?: { modelName?: string; fields?: { [key in keyof Omit]?: string; }; additionalFields?: { [key in string]: import("better-auth").DBFieldAttribute; }; }; member?: { modelName?: string; fields?: { [key in keyof Omit]?: string; }; additionalFields?: { [key in string]: import("better-auth").DBFieldAttribute; }; }; invitation?: { modelName?: string; fields?: { [key in keyof Omit]?: string; }; additionalFields?: { [key in string]: import("better-auth").DBFieldAttribute; }; }; team?: { modelName?: string; fields?: { [key in keyof Omit]?: string; }; additionalFields?: { [key in string]: import("better-auth").DBFieldAttribute; }; }; teamMember?: { modelName?: string; fields?: { [key in keyof Omit]?: string; }; }; organizationRole?: { modelName?: string; fields?: { [key in keyof Omit]?: string; }; additionalFields?: { [key in string]: import("better-auth").DBFieldAttribute; }; }; } | undefined ? { [K in keyof S_1]: S_1[K] extends { additionalFields: infer _AF; } ? S_1[K] : undefined; } : undefined : undefined : undefined : S; //# sourceMappingURL=client.d.ts.map