import { ServiceResponse } from './response';
import { ServiceRequestPage } from './pageInput'
import { PageResponse } from './pageResponse'

// 过滤
export interface RevokeReasonFilter {
  /** 原因描述 */
  keyWord?: string | null
  /** 类型 */
  revokeType?: string | null
  /** 是否下发 */
  isDown?: boolean

  startTime?: string | null

  endTime?: string | null
}


export interface RevokeReasonDto {
   /**
   * 编号
   * @format int64
   */
   id?: number
   /** 原因描述 */
   revokeReason?: string | null
   /** 类型 */
   revokeType?: string | null
   /** 是否下发 */
   isDown?: boolean
   /** 创建者 */
   createdUserName?: string | null
   /**
    * 创建时间
    * @format date-time
    */
   createdTime?: string | null
   /**
    * 修改时间
    * @format date-time
    */
   modifiedTime?: string | null
}

export interface RevokeReasonPageDto {
  /**
  * 编号
  * @format int64
  */
  id?: number
  /** 原因描述 */
  revokeReason?: string | null
  /** 类型 */
  revokeType?: string | null
  /** 是否下发 */
  isDown?: boolean
  /** 创建者 */
  createdUserName?: string | null
  /**
   * 创建时间
   * @format date-time
   */
  createdTime?: string | null
  /**
   * 修改时间
   * @format date-time
   */
  modifiedTime?: string | null
}

export interface RevokeReasonDto {
  /**
  * 编号
  * @format int64
  */
  id?: number
  /** 原因描述 */
  revokeReason?: string | null
  /** 类型 */
  revokeType?: string | null
  /** 是否下发 */
  isDown?: boolean
}

/** 撤回类型枚举项 */
export interface RevokeTypeEnumItem {
  /** 枚举值 */
  value: number
  /** 枚举名称 */
  name: string
  /** 显示名称/描述 */
  label: string
}

export type RevokeReasonPageInput = ServiceRequestPage<RevokeReasonFilter>;
export type RevokeReasonPageResponse = ServiceResponse<PageResponse<RevokeReasonPageDto>>;

export type RevokeReasonOutput = ServiceResponse<RevokeReasonDto[]>;
export type RevokeReasonAddInput = RevokeReasonDto;
export type RevokeReasonUpdateInput = RevokeReasonDto;
export type RevokeTypeEnumListOutput = ServiceResponse<RevokeTypeEnumItem[]>;


