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

export type AccessRequestStatus = "new" | "approved" | "rejected";

export interface AccessRequest {
  id: string;
  email: string;
  firstName: string;
  lastName: string;
  middleName: string;
  phone: string;
  company: string;
  status: AccessRequestStatus;
  targetClientId: string;
  role: ClientMembershipRole;
  approvedInviteId?: string | null;
  reviewedByUserId?: string | null;
  reviewedAt?: string | null;
  comment?: string | null;
  createdAt: string;
  updatedAt: string;
}

export interface CreateAccessRequestCommand {
  email: string;
  firstName: string;
  lastName: string;
  middleName: string;
  phone: string;
  company: string;
  password: string;
}
