import { OrganizationPluginOptions } from '../../../compat/better-auth/plugins.js'; import { SettingsTab } from '../../../compat/better-auth/react.js'; /** * Organization settings policy. `personalAccount` defaults to true (current * behavior). Set `false` for organization-only products: hide personal scope * and refuse switching the active organization to `null`. */ export interface AthenaOrganizationUiOptions { personalAccount?: boolean; viewPaths?: { settings?: { organizations?: string; }; }; } declare module "@better-auth-ui/core" { interface SettingsViewPaths { /** @default "organizations" */ organizations?: string; } } export type OrganizationPluginFactoryOptions = OrganizationPluginOptions & AthenaOrganizationUiOptions; export declare function resolveOrganizationPersonalAccount(options: AthenaOrganizationUiOptions | undefined): boolean; export declare const organizationPlugin: ((options?: OrganizationPluginFactoryOptions | undefined) => { personalAccount: boolean; requiresCapability: "organizations"; settingsTabs: SettingsTab[]; viewPaths: { settings: { organizations: string; }; }; slug: string | null | undefined; slugPrefix: string; checkSlug: boolean; localization: { accept: string; acceptInvitationTitle: string; acceptInvitationDescription: string; accepted: string; actions: string; admin: string; all: string; canceled: string; cancelInvitation: string; changeLogo: string; changeMemberRole: string; clear: string; createOrganization: string; deleteLogo: string; deleteOrganization: string; deleteOrganizationDescription: string; invitations: string; invitationResent: string; invitationUnavailable: string; invitationUnavailableDescription: string; invitedAt: string; inviteMember: string; inviteMemberSuccess: string; inviteMemberDescription: string; leftOrganization: string; leaveOrganization: string; leaveOrganizationDescription: string; logo: string; logoChangedSuccess: string; logoDeletedSuccess: string; manage: string; member: string; memberRemoved: string; memberRoleUpdated: string; members: string; people: string; name: string; namePlaceholder: string; noInvitations: string; noOrganizations: string; organization: string; organizationDeleted: string; organizationInvitationsEmptyDescription: string; organizations: string; organizationsDescription: string; organizationProfile: string; organizationUpdatedSuccess: string; owner: string; pending: string; nextPage: string; personalAccount: string; previousPage: string; rejected: string; paginationRange: string; return: string; rejectInvitation: string; removeMember: string; removeMemberWarning: string; resendInvitation: string; role: string; search: string; selectRoles: string; slug: string; slugPlaceholder: string; status: string; uploadLogo: string; userInvitationsEmptyDescription: string; teams: string; team: string; teamsDescription: string; selectTeam: string; allTeams: string; selectMember: string; createTeam: string; renameTeam: string; deleteTeam: string; noTeams: string; noTeamsDescription: string; teamMembers: string; addTeamMember: string; removeTeamMember: string; teamCreated: string; teamUpdated: string; teamDeleted: string; teamLimitReached: string; teamMemberLimitReached: string; lastTeamRemovalDisabled: string; limitReached: string; organizationLimitReached: string; membershipLimitReached: string; invitationLimitReached: string; roles: string; rolesDescription: string; createRole: string; editRole: string; deleteRole: string; deleteRoleDescription: string; roleName: string; permissions: string; noRoles: string; noRolesDescription: string; roleCreated: string; roleUpdated: string; roleDeleted: string; roleInUse: string; roleNamePlaceholder: string; }; logo: { delete?: (url: string) => Promise; enabled: boolean; extension: "png" | "jpg" | "webp" | "inherit"; resize: (file: File, size?: number, extension?: "png" | "jpg" | "webp" | "inherit") => Promise; size: number; upload?: (file: File) => Promise; }; roles: { [x: string]: string; }; additionalFields: import('@better-auth-ui/core').AdditionalFields; modelFields: { organization: import('@better-auth-ui/core').AdditionalFields; member: import('@better-auth-ui/core').AdditionalFields; invitation: import('@better-auth-ui/core').AdditionalFields; team: import('@better-auth-ui/core').AdditionalFields; role: import('@better-auth-ui/core').AdditionalFields; }; dynamicAccessControl: { enabled: boolean; permissions: import('@better-auth-ui/core/plugins/organization').OrganizationPermissionRegistry; } | undefined; organizationLimit: number | undefined; membershipLimit: number | undefined; invitationLimit: number | undefined; allowOrganizationCreation: boolean; teams: boolean; teamPolicy: { maximumTeams: number | undefined; maximumMembersPerTeam: number | undefined; allowRemovingAllTeams: boolean; }; id: "organization"; } & { id: "organization"; }) & { id: "organization"; };