/* tslint: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;
  };
  globals: {
    'global-array': GlobalArray;
  };
}
export interface User {
  id: string;
  relation?: string | LocalizedPost;
  email?: string;
  resetPasswordToken?: string;
  resetPasswordExpiration?: string;
  loginAttempts?: number;
  lockUntil?: string;
  createdAt: string;
  updatedAt: string;
  password?: string;
}
export interface LocalizedPost {
  id: string;
  title?: string;
  description?: string;
  createdAt: string;
  updatedAt: string;
}
export interface ArrayField {
  id: string;
  items?: {
    text: string;
    id?: string;
  }[];
  createdAt: string;
  updatedAt: string;
}
export interface LocalizedRequired {
  id: string;
  title: string;
  layout: (
    | {
        text?: string;
        id?: string;
        blockName?: string;
        blockType: 'text';
      }
    | {
        number?: number;
        id?: string;
        blockName?: string;
        blockType: 'number';
      }
  )[];
  createdAt: string;
  updatedAt: string;
}
export interface WithLocalizedRelationship {
  id: string;
  localizedRelationship?: string | LocalizedPost;
  localizedRelationHasManyField?: string[] | LocalizedPost[];
  localizedRelationMultiRelationTo?:
    | {
        value: string | LocalizedPost;
        relationTo: 'localized-posts';
      }
    | {
        value: string | Dummy;
        relationTo: 'dummy';
      };
  localizedRelationMultiRelationToHasMany?:
    | (
        | {
            value: string;
            relationTo: 'localized-posts';
          }
        | {
            value: string;
            relationTo: 'dummy';
          }
      )[]
    | (
        | {
            value: LocalizedPost;
            relationTo: 'localized-posts';
          }
        | {
            value: Dummy;
            relationTo: 'dummy';
          }
      )[];
  createdAt: string;
  updatedAt: string;
}
export interface Dummy {
  id: string;
  name?: string;
  createdAt: string;
  updatedAt: string;
}
export interface RelationshipLocalized {
  id: string;
  relationship?: string | LocalizedPost;
  relationshipHasMany?: string[] | LocalizedPost[];
  relationMultiRelationTo?:
    | {
        value: string | LocalizedPost;
        relationTo: 'localized-posts';
      }
    | {
        value: string | Dummy;
        relationTo: 'dummy';
      };
  relationMultiRelationToHasMany?:
    | (
        | {
            value: string;
            relationTo: 'localized-posts';
          }
        | {
            value: string;
            relationTo: 'dummy';
          }
      )[]
    | (
        | {
            value: LocalizedPost;
            relationTo: 'localized-posts';
          }
        | {
            value: Dummy;
            relationTo: 'dummy';
          }
      )[];
  createdAt: string;
  updatedAt: string;
}
export interface GlobalArray {
  id: string;
  array?: {
    text?: string;
    id?: string;
  }[];
}
