/* tslint:disable */
/* eslint-disable */
/**
 * This file was automatically generated by Payload.
 * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
 * and re-run `payload generate:types` to regenerate this file.
 */

export interface Config {
  collections: {
    users: User
    'localized-posts': LocalizedPost
    'array-fields': ArrayField
    'localized-required': LocalizedRequired
    'with-localized-relationship': WithLocalizedRelationship
    'relationship-localized': RelationshipLocalized
    dummy: Dummy
    'payload-preferences': PayloadPreference
    'payload-migrations': PayloadMigration
  }
  globals: {
    'global-array': GlobalArray
  }
}
export interface User {
  id: string
  relation?: (string | null) | LocalizedPost
  updatedAt: string
  createdAt: string
  email: string
  resetPasswordToken?: string | null
  resetPasswordExpiration?: string | null
  salt?: string | null
  hash?: string | null
  loginAttempts?: number | null
  lockUntil?: string | null
  password: string | null
}
export interface LocalizedPost {
  id: string
  title?: string | null
  description?: string | null
  localizedCheckbox?: boolean | null
  updatedAt: string
  createdAt: string
}
export interface ArrayField {
  id: string
  items?:
    | {
        text: string
        id?: string | null
      }[]
    | null
  updatedAt: string
  createdAt: string
}
export interface LocalizedRequired {
  id: string
  title: string
  layout: (
    | {
        text?: string | null
        id?: string | null
        blockName?: string | null
        blockType: 'text'
      }
    | {
        number?: number | null
        id?: string | null
        blockName?: string | null
        blockType: 'number'
      }
  )[]
  updatedAt: string
  createdAt: string
}
export interface WithLocalizedRelationship {
  id: string
  localizedRelationship?: (string | null) | LocalizedPost
  localizedRelationHasManyField?: (string | LocalizedPost)[] | null
  localizedRelationMultiRelationTo?:
    | ({
        relationTo: 'localized-posts'
        value: string | LocalizedPost
      } | null)
    | ({
        relationTo: 'dummy'
        value: string | Dummy
      } | null)
  localizedRelationMultiRelationToHasMany?:
    | (
        | {
            relationTo: 'localized-posts'
            value: string | LocalizedPost
          }
        | {
            relationTo: 'dummy'
            value: string | Dummy
          }
      )[]
    | null
  updatedAt: string
  createdAt: string
}
export interface Dummy {
  id: string
  name?: string | null
  updatedAt: string
  createdAt: string
}
export interface RelationshipLocalized {
  id: string
  relationship?: (string | null) | LocalizedPost
  relationshipHasMany?: (string | LocalizedPost)[] | null
  relationMultiRelationTo?:
    | ({
        relationTo: 'localized-posts'
        value: string | LocalizedPost
      } | null)
    | ({
        relationTo: 'dummy'
        value: string | Dummy
      } | null)
  relationMultiRelationToHasMany?:
    | (
        | {
            relationTo: 'localized-posts'
            value: string | LocalizedPost
          }
        | {
            relationTo: 'dummy'
            value: string | Dummy
          }
      )[]
    | null
  arrayField?:
    | {
        nestedRelation?: (string | null) | LocalizedPost
        id?: string | null
      }[]
    | null
  updatedAt: string
  createdAt: string
}
export interface PayloadPreference {
  id: string
  user: {
    relationTo: 'users'
    value: string | User
  }
  key?: string | null
  value?:
    | {
        [k: string]: unknown
      }
    | unknown[]
    | string
    | number
    | boolean
    | null
  updatedAt: string
  createdAt: string
}
export interface PayloadMigration {
  id: string
  name?: string | null
  batch?: number | null
  updatedAt: string
  createdAt: string
}
export interface GlobalArray {
  id: string
  array?:
    | {
        text?: string | null
        id?: string | null
      }[]
    | null
  updatedAt?: string | null
  createdAt?: string | null
}
