export interface OnChainApproval {
  approvalId: string;
  requestId: string;
  departmentAddress: string;
  status: ApprovalStatus;
  timestamp: Date;
  remarksHash: string;
  documentHashes: string[];
  blockNumber: number;
  transactionHash: string;
}

export enum ApprovalStatus {
  PENDING = 'PENDING',
  APPROVED = 'APPROVED',
  REJECTED = 'REJECTED',
  CHANGES_REQUESTED = 'CHANGES_REQUESTED',
  INVALIDATED = 'INVALIDATED',
}

export interface ApprovalVerification {
  isValid: boolean;
  approval: OnChainApproval;
  remarksMatch: boolean;
  documentsMatch: boolean;
}
