// 制度状态枚举
export enum RegulationStatus {
  DRAFT = 'DRAFT',           // 草稿
  VOTING = 'VOTING',         // 投票中
  APPROVED = 'APPROVED',     // 已通过
  REJECTED = 'REJECTED',     // 已否决
  PUBLISHED = 'PUBLISHED',   // 已发布
  ARCHIVED = 'ARCHIVED'      // 已归档
}

// 制度级别枚举
export enum RegulationLevel {
  LOW = 'LOW',       // 低
  MEDIUM = 'MEDIUM', // 中
  HIGH = 'HIGH'      // 高
}

// 投票类型枚举
export enum VoteType {
  FOR = 'FOR',           // 赞成
  AGAINST = 'AGAINST',   // 反对
  ABSTAIN = 'ABSTAIN'    // 弃权
}

// 制度信息接口
export interface Regulation {
  regulationId: string
  title: string
  content: string
  regulationType: string
  status: RegulationStatus
  publisherId: string
  publisherName: string
  publishTime: string
  effectiveTime: string
  expireTime: string
  scope: string
  level: RegulationLevel
  version: string
  remark?: string
  createBy: string
  updateBy: string
  createTime: string
  updateTime: string
  page: number
  pageSize: number
  delFlag: string
  requirements?: string
  notes?: string
  confirmStatus?: 'pending' | 'confirmed'
}

// 制度列表响应接口
export interface RegulationListResponse {
  status: number
  data: {
    records: Regulation[]
    total: number
    size: number
    current: number
    pages: number
  }
}

// 创建提案请求接口
export interface CreateProposalRequest {
  title: string
  content: string
  regulationType: string
  scope: string
  level: RegulationLevel
  remark?: string
}

// 投票请求接口
export interface VoteRequest {
  voteType: VoteType
  reason?: string
}

// 投票结果接口
export interface VoteResult {
  regulationId: string
  voteFor: number
  voteAgainst: number
  voteAbstain: number
  totalVotes: number
  approvalRate: number
}

// 讨论评论接口
export interface Discussion {
  id: string
  regulationId: string
  authorId: string
  authorName: string
  content: string
  createTime: string
}

// 分页参数接口
export interface PaginationParams {
  page: number
  size: number
} 