/* 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
    tenants: Tenant
    pages: Page
    'payload-preferences': PayloadPreference
    'payload-migrations': PayloadMigration
  }
  globals: {}
}
export interface User {
  id: string
  firstName?: string
  lastName?: string
  roles: ('super-admin' | 'user')[]
  tenants?: {
    tenant: string | Tenant
    roles: ('admin' | 'user')[]
    id?: string
  }[]
  lastLoggedInTenant?: string | Tenant
  updatedAt: string
  createdAt: string
  email: string
  resetPasswordToken?: string
  resetPasswordExpiration?: string
  salt?: string
  hash?: string
  loginAttempts?: number
  lockUntil?: string
  password?: string
}
export interface Tenant {
  id: string
  name: string
  domains?: {
    domain: string
    id?: string
  }[]
  updatedAt: string
  createdAt: string
}
export interface Page {
  id: string
  title: string
  slug?: string
  tenant?: string | Tenant
  richText: {
    [k: string]: unknown
  }[]
  updatedAt: string
  createdAt: string
}
export interface PayloadPreference {
  id: string
  user: {
    relationTo: 'users'
    value: string | User
  }
  key?: string
  value?:
    | {
        [k: string]: unknown
      }
    | unknown[]
    | string
    | number
    | boolean
    | null
  updatedAt: string
  createdAt: string
}
export interface PayloadMigration {
  id: string
  name?: string
  batch?: number
  updatedAt: string
  createdAt: string
}

declare module 'payload' {
  export interface GeneratedTypes {
    collections: {
      users: User
      tenants: Tenant
      pages: Page
      'payload-preferences': PayloadPreference
      'payload-migrations': PayloadMigration
    }
  }
}
