export type EngineWorkflowRole = "viewer" | "editor" | "admin";
export type EngineServiceRole = "viewer" | "member";
export type EngineWorkflowAccessRequestType = "workflow" | "service_role";
export type EngineWorkflowAccessRequestStatus = "new" | "approved" | "rejected" | "cancelled";

export interface EngineWorkflowAccessRequest {
  id: string;
  requestType?: EngineWorkflowAccessRequestType;
  workflowId: string;
  workflowName: string;
  targetUserId: string;
  targetEmail: string;
  targetName?: string | null;
  role: EngineWorkflowRole;
  requestedServiceRole?: EngineServiceRole | null;
  currentServiceRole?: EngineServiceRole | null;
  requesterUserId?: string | null;
  requesterEmail: string;
  requesterName: string;
  status: EngineWorkflowAccessRequestStatus;
  reviewedByUserId?: string | null;
  reviewedAt?: string | null;
  engineAppliedAt?: string | null;
  comment?: string | null;
  createdAt: string;
  updatedAt: string;
}
