import type * as Whop from "../index.js"; export interface TeamMember { /** The account this membership belongs to, prefixed `biz_`. */ account_id: string; /** Custom role assigned to this member, or `null` when the member has a system role. */ authorized_role: Whop.TeamMemberAuthorizedRole | null; /** When the member joined or the invite was sent, as an ISO 8601 timestamp. */ created_at: string; /** How many team members report directly to this member. `null` for invites. */ direct_reports_count: number | null; /** The member's email address. For an invite sent to an email with no Whop account yet, the invited address; for accepted members and invites to an existing Whop account, `null` unless the caller holds the `company:authorized_user:email:read` scope. */ email: string | null; /** Team member ID — `ausr_` for accepted members, `mber_` for members whose role is held on their member record, `ausri_` for pending invites. */ id: string; /** Whether this member is an agent (app-controlled account) rather than a human team member. Always `false` for invites. */ is_agent: boolean; /** The team member this member reports to, prefixed `ausr_`, or `mber_` when that manager's role is held on their member record. `null` when the member reports to the business directly, and for invites. */ reports_to_id: string | null; /** The member's role on the account. `custom` means a bespoke dashboard-managed role; the API can read but not grant it. */ role: TeamMember.Role; /** `joined` for accepted members, `pending` while the invite is pending. */ status: TeamMember.Status; /** When the membership was last updated, as an ISO 8601 timestamp. */ updated_at: string; /** The user behind this team membership. `null` for an invite sent to an email with no Whop account yet. */ user: Whop.UserSummary | null; } export declare namespace TeamMember { /** The member's role on the account. `custom` means a bespoke dashboard-managed role; the API can read but not grant it. */ const Role: { readonly Owner: "owner"; readonly Admin: "admin"; readonly Partner: "partner"; readonly SalesManager: "sales_manager"; readonly Moderator: "moderator"; readonly Advertiser: "advertiser"; readonly AppManager: "app_manager"; readonly Support: "support"; readonly Manager: "manager"; readonly Workforce: "workforce"; readonly Custom: "custom"; }; type Role = (typeof Role)[keyof typeof Role]; /** `joined` for accepted members, `pending` while the invite is pending. */ const Status: { readonly Joined: "joined"; readonly Pending: "pending"; }; type Status = (typeof Status)[keyof typeof Status]; }