import type { ClientMembershipRole } from "../user/types";

export type InviteStatus = "created" | "sent" | "accepted" | "expired" | "revoked";

export interface Invite {
  id: string;
  clientId: string;
  email: string;
  role: ClientMembershipRole;
  invitedByUserId: string;
  source?: "launcher" | "access_request" | "tasker_workspace_invite";
  sourceTaskerInviteRequestId?: string | null;
  sourceTaskerInviteId?: string | null;
  sourceWorkspaceSlug?: string | null;
  sourceWorkspaceName?: string | null;
  token: string;
  expiresAt: string;
  status: InviteStatus;
  createdAt: string;
  updatedAt: string;
}
