import type * as Whop from "../index.mjs"; export interface Member { /** What the member can reach on the account: `customer` for paying members, `admin` for team members, `no_access` once every grant has lapsed. */ access_level: Member.AccessLevel; /** The account this member belongs to, prefixed `biz_`. */ account_id: string; /** When the member record was created, as an ISO 8601 timestamp. */ created_at: string; /** The name to show for this member: the user's name, or their username when they have not set one. The buying business's name when `user` is `null`. */ display_name: string; /** The user's gross income across Whop, in USD, refreshed periodically. `null` when the user hides their earnings or the buyer is another business. */ earnings_usd: Whop.UserEarningsAmount | null; /** The user's email address. `null` without `member:email:read` on the account, when the buyer is another business, or when the user has no assigned email. */ email: string | null; /** Member ID, prefixed `mber_`. */ id: string; /** When the member first joined the account, as an ISO 8601 timestamp. */ joined_at: string; /** When the member last opened the account's content, as an ISO 8601 timestamp. `null` if they never have. */ last_accessed_at: string | null; /** The member's latest lifecycle state on the account, derived from their memberships, such as `paid_subscriber`, `canceling`, or `churned`. `null` until it is first computed. */ most_recent_action: Member.MostRecentAction | null; /** When `most_recent_action` took effect, as an ISO 8601 timestamp. `null` when `most_recent_action` is `null`. */ most_recent_action_at: string | null; /** The member's phone number: the most recent number collected (or verified) at checkout, otherwise their account number when they have shared one with this seller. `null` without `member:phone:read` on the account, or when there is neither. */ phone_number: string | null; /** `joined` while the member is part of the account, `left` after they leave. */ status: Member.Status; /** The member's current token balance for this account, computed from token transactions. */ token_balance: number; /** How much the member has spent on the account's products, in USD. */ usd_total_spent: Whop.Money; /** The user behind this member. `null` when the buyer is another business rather than a person. */ user: Whop.UserSummary | null; } export declare namespace Member { /** What the member can reach on the account: `customer` for paying members, `admin` for team members, `no_access` once every grant has lapsed. */ const AccessLevel: { readonly NoAccess: "no_access"; readonly Admin: "admin"; readonly Customer: "customer"; }; type AccessLevel = (typeof AccessLevel)[keyof typeof AccessLevel]; /** The member's latest lifecycle state on the account, derived from their memberships, such as `paid_subscriber`, `canceling`, or `churned`. `null` until it is first computed. */ const MostRecentAction: { readonly Canceling: "canceling"; readonly Churned: "churned"; readonly FinishedSplitPay: "finished_split_pay"; readonly Paused: "paused"; readonly PaidSubscriber: "paid_subscriber"; readonly PaidOnce: "paid_once"; readonly Expiring: "expiring"; readonly Joined: "joined"; readonly Left: "left"; readonly Trialing: "trialing"; readonly PendingEntry: "pending_entry"; readonly Renewing: "renewing"; readonly PastDue: "past_due"; }; type MostRecentAction = (typeof MostRecentAction)[keyof typeof MostRecentAction]; /** `joined` while the member is part of the account, `left` after they leave. */ const Status: { readonly Joined: "joined"; readonly Left: "left"; }; type Status = (typeof Status)[keyof typeof Status]; }