/* tslint:disable */
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */

export type UnstakingPeriod = number

/**
 * JSON schema to describe Joystream working group opening
 */
export interface WorkingGroupOpening {
  activateAt:
    | {
        /**
         * Exact block number
         */
        ExactBlock: number
      }
    | {
        CurrentBlock: null
      }
  /**
   * Max. number of active applicants
   */
  maxActiveApplicants?: number
  /**
   * Max. review period length in blocks
   */
  maxReviewPeriodLength: number
  /**
   * Application stake properties
   */
  applicationStake?: {
    /**
     * Application stake mode (Exact/AtLeast)
     */
    mode: 'Exact' | 'AtLeast'
    /**
     * Required stake value in JOY
     */
    value: number
  }
  /**
   * Role stake properties
   */
  roleStake?: {
    /**
     * Application stake mode (Exact/AtLeast)
     */
    mode: 'Exact' | 'AtLeast'
    /**
     * Required stake value in JOY
     */
    value: number
  }
  terminateRoleUnstakingPeriod?: UnstakingPeriod
  leaveRoleUnstakingPeriod?: UnstakingPeriod
}
