import { AthenaAuthUser } from '@xylex-group/athena'; import { OrganizationActionDialogProps } from './organization-action-dialog.js'; import { OrganizationSwitcherOption } from './organization-switcher.js'; export interface OrganizationRoleOption { label: string; value: string; } export interface OrganizationMemberIdentity { email?: string | null; id: string; user?: { email?: string | null; name?: string | null; } | null; userId?: string | null; } export interface AdminUserActions { ban: (input: { banExpiresIn?: string; banReason?: string; fetchOptions?: { throw?: boolean; }; userId: string; }) => Promise; unban: (input: { fetchOptions?: { throw?: boolean; }; userId: string; }) => Promise; } export type OrganizationDialogActionKind = "remove-member" | "restore-member" | "suspend-member"; export type OrganizationDialogAction = { kind: "remove-member"; member: TMember; } | { kind: "restore-member"; member: TMember; } | { kind: "suspend-member"; member: TMember; }; export declare function buildOrganizationRoleOptions(configuredRoles: Record | undefined): OrganizationRoleOption[]; export declare function organizationRoleOptionsFromSnapshot(assignableRoles: ReadonlyArray<{ displayName: string; id?: string; key: string; scopeKind: string; systemKind: "owner" | "admin" | "member" | null; }> | undefined, configuredRoles: Record | undefined): OrganizationRoleOption[]; export declare function formatRoleLabel(role: unknown, roleLabels: Record | undefined): string; export declare function normalizeEmailAddress(value: unknown): string | null; export declare function isValidEmailAddress(value: unknown): boolean; export declare function isOwnInviteEmail(candidate: unknown, currentUserEmail: unknown): boolean; export declare function memberEmailAddress(member: OrganizationMemberIdentity): string | null; export declare function memberIdentifier(member: OrganizationMemberIdentity): string; export declare function memberRemovalIdentifier(member: OrganizationMemberIdentity): string; export declare function asArrayRows(data: unknown): T[]; export declare function invitationStatusLabel(status: unknown, organizationLocalization: Record): string; export declare function isInvitationTerminalStatus(status: unknown): boolean; export declare function memberStatusLabel(user: AthenaAuthUser | undefined): string; export declare function asAthenaAuthUser(user: unknown): AthenaAuthUser | undefined; export declare function organizationInvitationTarget(invitation: { organizationId?: string | null; }, organizationById: Map): string; export declare function buildOrganizationNameById(organizations: Iterable): Map; export declare function buildOrganizationSwitcherOptions(organizations: Iterable): OrganizationSwitcherOption[]; export declare function extractAdminUserActions(authClient: unknown): AdminUserActions | null; export declare function getOrganizationDialogCopy(action: OrganizationDialogAction, organizationLocalization: Record, cancelLabel: string): OrganizationActionDialogProps; export declare function membersFromListData(data: unknown): unknown[]; export declare function isSlugAvailable(availability: unknown): boolean;