/* 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.
 */

/**
 * Supported timezones in IANA format.
 *
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "supportedTimezones".
 */
export type SupportedTimezones =
  | 'Pacific/Midway'
  | 'Pacific/Niue'
  | 'Pacific/Honolulu'
  | 'Pacific/Rarotonga'
  | 'America/Anchorage'
  | 'Pacific/Gambier'
  | 'America/Los_Angeles'
  | 'America/Tijuana'
  | 'America/Denver'
  | 'America/Phoenix'
  | 'America/Chicago'
  | 'America/Guatemala'
  | 'America/New_York'
  | 'America/Bogota'
  | 'America/Caracas'
  | 'America/Santiago'
  | 'America/Buenos_Aires'
  | 'America/Sao_Paulo'
  | 'Atlantic/South_Georgia'
  | 'Atlantic/Azores'
  | 'Atlantic/Cape_Verde'
  | 'Europe/London'
  | 'Europe/Berlin'
  | 'Africa/Lagos'
  | 'Europe/Athens'
  | 'Africa/Cairo'
  | 'Europe/Moscow'
  | 'Asia/Riyadh'
  | 'Asia/Dubai'
  | 'Asia/Baku'
  | 'Asia/Karachi'
  | 'Asia/Tashkent'
  | 'Asia/Calcutta'
  | 'Asia/Dhaka'
  | 'Asia/Almaty'
  | 'Asia/Jakarta'
  | 'Asia/Bangkok'
  | 'Asia/Shanghai'
  | 'Asia/Singapore'
  | 'Asia/Tokyo'
  | 'Asia/Seoul'
  | 'Australia/Brisbane'
  | 'Australia/Sydney'
  | 'Pacific/Guam'
  | 'Pacific/Noumea'
  | 'Pacific/Auckland'
  | 'Pacific/Fiji';

export interface Config {
  auth: {
    users: UserAuthOperations;
  };
  blocks: {};
  collections: {
    noTimeStamps: NoTimeStamp;
    categories: Category;
    simple: Simple;
    'simple-localized': SimpleLocalized;
    'categories-custom-id': CategoriesCustomId;
    posts: Post;
    'error-on-unnamed-fields': ErrorOnUnnamedField;
    'default-values': DefaultValue;
    'relation-a': RelationA;
    'relation-b': RelationB;
    'pg-migrations': PgMigration;
    'custom-schema': CustomSchema;
    places: Place;
    'virtual-relations': VirtualRelation;
    'fields-persistance': FieldsPersistance;
    'custom-ids': CustomId;
    'fake-custom-ids': FakeCustomId;
    'relationships-migration': RelationshipsMigration;
    'compound-indexes': CompoundIndex;
    aliases: Alias;
    'blocks-docs': BlocksDoc;
    'unique-fields': UniqueField;
    'payload-kv': PayloadKv;
    users: User;
    'payload-locked-documents': PayloadLockedDocument;
    'payload-preferences': PayloadPreference;
    'payload-migrations': PayloadMigration;
  };
  collectionsJoins: {};
  collectionsSelect: {
    noTimeStamps: NoTimeStampsSelect<false> | NoTimeStampsSelect<true>;
    categories: CategoriesSelect<false> | CategoriesSelect<true>;
    simple: SimpleSelect<false> | SimpleSelect<true>;
    'simple-localized': SimpleLocalizedSelect<false> | SimpleLocalizedSelect<true>;
    'categories-custom-id': CategoriesCustomIdSelect<false> | CategoriesCustomIdSelect<true>;
    posts: PostsSelect<false> | PostsSelect<true>;
    'error-on-unnamed-fields': ErrorOnUnnamedFieldsSelect<false> | ErrorOnUnnamedFieldsSelect<true>;
    'default-values': DefaultValuesSelect<false> | DefaultValuesSelect<true>;
    'relation-a': RelationASelect<false> | RelationASelect<true>;
    'relation-b': RelationBSelect<false> | RelationBSelect<true>;
    'pg-migrations': PgMigrationsSelect<false> | PgMigrationsSelect<true>;
    'custom-schema': CustomSchemaSelect<false> | CustomSchemaSelect<true>;
    places: PlacesSelect<false> | PlacesSelect<true>;
    'virtual-relations': VirtualRelationsSelect<false> | VirtualRelationsSelect<true>;
    'fields-persistance': FieldsPersistanceSelect<false> | FieldsPersistanceSelect<true>;
    'custom-ids': CustomIdsSelect<false> | CustomIdsSelect<true>;
    'fake-custom-ids': FakeCustomIdsSelect<false> | FakeCustomIdsSelect<true>;
    'relationships-migration': RelationshipsMigrationSelect<false> | RelationshipsMigrationSelect<true>;
    'compound-indexes': CompoundIndexesSelect<false> | CompoundIndexesSelect<true>;
    aliases: AliasesSelect<false> | AliasesSelect<true>;
    'blocks-docs': BlocksDocsSelect<false> | BlocksDocsSelect<true>;
    'unique-fields': UniqueFieldsSelect<false> | UniqueFieldsSelect<true>;
    'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
    users: UsersSelect<false> | UsersSelect<true>;
    'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
    'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
    'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
  };
  db: {
    defaultIDType: string;
  };
  fallbackLocale: ('false' | 'none' | 'null') | false | null | ('en' | 'es' | 'uk') | ('en' | 'es' | 'uk')[];
  globals: {
    header: Header;
    global: Global;
    'global-2': Global2;
    'global-3': Global3;
    'virtual-relation-global': VirtualRelationGlobal;
  };
  globalsSelect: {
    header: HeaderSelect<false> | HeaderSelect<true>;
    global: GlobalSelect<false> | GlobalSelect<true>;
    'global-2': Global2Select<false> | Global2Select<true>;
    'global-3': Global3Select<false> | Global3Select<true>;
    'virtual-relation-global': VirtualRelationGlobalSelect<false> | VirtualRelationGlobalSelect<true>;
  };
  locale: 'en' | 'es' | 'uk';
  user: User;
  jobs: {
    tasks: unknown;
    workflows: unknown;
  };
}
export interface UserAuthOperations {
  forgotPassword: {
    email: string;
    password: string;
  };
  login: {
    email: string;
    password: string;
  };
  registerFirstUser: {
    email: string;
    password: string;
  };
  unlock: {
    email: string;
    password: string;
  };
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "noTimeStamps".
 */
export interface NoTimeStamp {
  id: string;
  title?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "categories".
 */
export interface Category {
  id: string;
  title?: string | null;
  simple?: (string | null) | Simple;
  hideout?: {
    camera1?: {
      time1Image?: (string | null) | Post;
    };
  };
  updatedAt: string;
  createdAt: string;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "simple".
 */
export interface Simple {
  id: string;
  text?: string | null;
  number?: number | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts".
 */
export interface Post {
  id: string;
  title: string;
  category?: (string | null) | Category;
  categoryID?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  categoryTitle?: string | null;
  categorySimpleText?: string | null;
  categories?: (string | Category)[] | null;
  categoriesCustomID?: (number | CategoriesCustomId)[] | null;
  categoryPoly?: {
    relationTo: 'categories';
    value: string | Category;
  } | null;
  categoryPolyMany?:
    | {
        relationTo: 'categories';
        value: string | Category;
      }[]
    | null;
  categoryCustomID?: (number | null) | CategoriesCustomId;
  polymorphicRelations?:
    | (
        | {
            relationTo: 'categories';
            value: string | Category;
          }
        | {
            relationTo: 'simple';
            value: string | Simple;
          }
      )[]
    | null;
  localizedPolymorphicRelations?:
    | (
        | {
            relationTo: 'categories';
            value: string | Category;
          }
        | {
            relationTo: 'simple';
            value: string | Simple;
          }
      )[]
    | null;
  localized?: string | null;
  text?: string | null;
  number?: number | null;
  numberDefault?: number | null;
  numbersHasMany?: number[] | null;
  publishDate?: string | null;
  blocks?:
    | {
        nested?:
          | {
              nested?: unknown[] | null;
              id?: string | null;
              blockName?: string | null;
              blockType: 'block-fourth';
            }[]
          | null;
        id?: string | null;
        blockName?: string | null;
        blockType: 'block-third';
      }[]
    | null;
  testNestedGroup?: {
    nestedLocalizedPolymorphicRelation?:
      | (
          | {
              relationTo: 'categories';
              value: string | Category;
            }
          | {
              relationTo: 'simple';
              value: string | Simple;
            }
        )[]
      | null;
    nestedLocalizedText?: string | null;
    nestedText1?: string | null;
    nestedText2?: string | null;
  };
  D1?: {
    D2?: {
      D3?: {
        D4?: string | null;
      };
    };
  };
  hasTransaction?: boolean | null;
  throwAfterChange?: boolean | null;
  arrayWithIDs?:
    | {
        text?: string | null;
        textLocalized?: string | null;
        id?: string | null;
      }[]
    | null;
  arrayWithIDsLocalized?:
    | {
        text?: string | null;
        id?: string | null;
      }[]
    | null;
  blocksWithIDs?:
    | {
        text?: string | null;
        id?: string | null;
        blockName?: string | null;
        blockType: 'block-first';
      }[]
    | null;
  group?: {
    text?: string | null;
  };
  tab?: {
    text?: string | null;
  };
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "categories-custom-id".
 */
export interface CategoriesCustomId {
  id: number;
  updatedAt: string;
  createdAt: string;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "simple-localized".
 */
export interface SimpleLocalized {
  id: string;
  text?: string | null;
  number?: number | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "error-on-unnamed-fields".
 */
export interface ErrorOnUnnamedField {
  id: string;
  groupWithinUnnamedTab: {
    text: string;
  };
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "default-values".
 */
export interface DefaultValue {
  id: string;
  title?: string | null;
  defaultValue?: string | null;
  array?:
    | {
        defaultValue?: string | null;
        id?: string | null;
      }[]
    | null;
  group?: {
    defaultValue?: string | null;
  };
  select?: ('option0' | 'option1' | 'default') | null;
  /**
   * @minItems 2
   * @maxItems 2
   */
  point?: [number, number] | null;
  escape?: string | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "relation-a".
 */
export interface RelationA {
  id: string;
  title?: string | null;
  richText?: {
    root: {
      type: string;
      children: {
        type: any;
        version: number;
        [k: string]: unknown;
      }[];
      direction: ('ltr' | 'rtl') | null;
      format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
      indent: number;
      version: number;
    };
    [k: string]: unknown;
  } | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "relation-b".
 */
export interface RelationB {
  id: string;
  title?: string | null;
  relationship?: (string | null) | RelationA;
  richText?: {
    root: {
      type: string;
      children: {
        type: any;
        version: number;
        [k: string]: unknown;
      }[];
      direction: ('ltr' | 'rtl') | null;
      format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
      indent: number;
      version: number;
    };
    [k: string]: unknown;
  } | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "pg-migrations".
 */
export interface PgMigration {
  id: string;
  relation1?: (string | null) | RelationA;
  myArray?:
    | {
        relation2?: (string | null) | RelationB;
        mySubArray?:
          | {
              relation3?: (string | null) | RelationB;
              id?: string | null;
            }[]
          | null;
        id?: string | null;
      }[]
    | null;
  myGroup?: {
    relation4?: (string | null) | RelationB;
  };
  myBlocks?:
    | {
        relation5?: (string | null) | RelationA;
        relation6?: (string | null) | RelationB;
        id?: string | null;
        blockName?: string | null;
        blockType: 'myBlock';
      }[]
    | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "custom-schema".
 */
export interface CustomSchema {
  id: string;
  text?: string | null;
  localizedText?: string | null;
  relationship?: (string | RelationA)[] | null;
  select?: ('a' | 'b' | 'c')[] | null;
  radio?: ('a' | 'b' | 'c') | null;
  array?:
    | {
        text?: string | null;
        localizedText?: string | null;
        id?: string | null;
      }[]
    | null;
  blocks?:
    | {
        text?: string | null;
        localizedText?: string | null;
        id?: string | null;
        blockName?: string | null;
        blockType: 'block-second';
      }[]
    | null;
  updatedAt: string;
  createdAt: string;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "places".
 */
export interface Place {
  id: string;
  country?: string | null;
  city?: string | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "virtual-relations".
 */
export interface VirtualRelation {
  id: string;
  postTitle?: string | null;
  postsTitles?: string[] | null;
  postCategoriesTitles?: string[] | null;
  postTitleHidden?: string | null;
  postCategoryTitle?: string | null;
  postCategoryID?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  postCategoryCustomID?: number | null;
  postID?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  postLocalized?: string | null;
  post?: (string | null) | Post;
  posts?: (string | Post)[] | null;
  customID?: (string | null) | CustomId;
  customIDValue?: string | null;
  updatedAt: string;
  createdAt: string;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "custom-ids".
 */
export interface CustomId {
  id: string;
  title?: string | null;
  updatedAt: string;
  createdAt: string;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "fields-persistance".
 */
export interface FieldsPersistance {
  id: string;
  text?: string | null;
  textHooked?: string | null;
  array?:
    | {
        id?: string | null;
      }[]
    | null;
  textWithinRow?: string | null;
  textWithinCollapsible?: string | null;
  textWithinTabs?: string | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "fake-custom-ids".
 */
export interface FakeCustomId {
  id: string;
  title?: string | null;
  group?: {
    id?: string | null;
  };
  myTab?: {
    id?: string | null;
  };
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "relationships-migration".
 */
export interface RelationshipsMigration {
  id: string;
  relationship?: (string | null) | DefaultValue;
  relationship_2?: {
    relationTo: 'default-values';
    value: string | DefaultValue;
  } | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "compound-indexes".
 */
export interface CompoundIndex {
  id: string;
  one?: string | null;
  two?: string | null;
  three?: string | null;
  group?: {
    four?: string | null;
  };
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "aliases".
 */
export interface Alias {
  id: string;
  thisIsALongFieldNameThatCanCauseAPostgresErrorEvenThoughWeSetAShorterDBName?:
    | {
        nestedArray?:
          | {
              text?: string | null;
              id?: string | null;
            }[]
          | null;
        id?: string | null;
      }[]
    | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "blocks-docs".
 */
export interface BlocksDoc {
  id: string;
  testBlocksLocalized?:
    | {
        text?: string | null;
        id?: string | null;
        blockName?: string | null;
        blockType: 'cta';
      }[]
    | null;
  testBlocks?:
    | {
        text?: string | null;
        id?: string | null;
        blockName?: string | null;
        blockType: 'cta';
      }[]
    | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "unique-fields".
 */
export interface UniqueField {
  id: string;
  slugField?: string | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-kv".
 */
export interface PayloadKv {
  id: string;
  key: string;
  data:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "users".
 */
export interface User {
  id: string;
  updatedAt: string;
  createdAt: string;
  email: string;
  resetPasswordToken?: string | null;
  resetPasswordExpiration?: string | null;
  salt?: string | null;
  hash?: string | null;
  loginAttempts?: number | null;
  lockUntil?: string | null;
  sessions?:
    | {
        id: string;
        createdAt?: string | null;
        expiresAt: string;
      }[]
    | null;
  password?: string | null;
  collection: 'users';
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-locked-documents".
 */
export interface PayloadLockedDocument {
  id: string;
  document?:
    | ({
        relationTo: 'noTimeStamps';
        value: string | NoTimeStamp;
      } | null)
    | ({
        relationTo: 'categories';
        value: string | Category;
      } | null)
    | ({
        relationTo: 'simple';
        value: string | Simple;
      } | null)
    | ({
        relationTo: 'simple-localized';
        value: string | SimpleLocalized;
      } | null)
    | ({
        relationTo: 'categories-custom-id';
        value: number | CategoriesCustomId;
      } | null)
    | ({
        relationTo: 'posts';
        value: string | Post;
      } | null)
    | ({
        relationTo: 'error-on-unnamed-fields';
        value: string | ErrorOnUnnamedField;
      } | null)
    | ({
        relationTo: 'default-values';
        value: string | DefaultValue;
      } | null)
    | ({
        relationTo: 'relation-a';
        value: string | RelationA;
      } | null)
    | ({
        relationTo: 'relation-b';
        value: string | RelationB;
      } | null)
    | ({
        relationTo: 'pg-migrations';
        value: string | PgMigration;
      } | null)
    | ({
        relationTo: 'custom-schema';
        value: string | CustomSchema;
      } | null)
    | ({
        relationTo: 'places';
        value: string | Place;
      } | null)
    | ({
        relationTo: 'virtual-relations';
        value: string | VirtualRelation;
      } | null)
    | ({
        relationTo: 'fields-persistance';
        value: string | FieldsPersistance;
      } | null)
    | ({
        relationTo: 'custom-ids';
        value: string | CustomId;
      } | null)
    | ({
        relationTo: 'fake-custom-ids';
        value: string | FakeCustomId;
      } | null)
    | ({
        relationTo: 'relationships-migration';
        value: string | RelationshipsMigration;
      } | null)
    | ({
        relationTo: 'compound-indexes';
        value: string | CompoundIndex;
      } | null)
    | ({
        relationTo: 'aliases';
        value: string | Alias;
      } | null)
    | ({
        relationTo: 'blocks-docs';
        value: string | BlocksDoc;
      } | null)
    | ({
        relationTo: 'unique-fields';
        value: string | UniqueField;
      } | null)
    | ({
        relationTo: 'users';
        value: string | User;
      } | null);
  globalSlug?: string | null;
  user: {
    relationTo: 'users';
    value: string | User;
  };
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-preferences".
 */
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;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-migrations".
 */
export interface PayloadMigration {
  id: string;
  name?: string | null;
  batch?: number | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "noTimeStamps_select".
 */
export interface NoTimeStampsSelect<T extends boolean = true> {
  title?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "categories_select".
 */
export interface CategoriesSelect<T extends boolean = true> {
  title?: T;
  simple?: T;
  hideout?:
    | T
    | {
        camera1?:
          | T
          | {
              time1Image?: T;
            };
      };
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "simple_select".
 */
export interface SimpleSelect<T extends boolean = true> {
  text?: T;
  number?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "simple-localized_select".
 */
export interface SimpleLocalizedSelect<T extends boolean = true> {
  text?: T;
  number?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "categories-custom-id_select".
 */
export interface CategoriesCustomIdSelect<T extends boolean = true> {
  id?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts_select".
 */
export interface PostsSelect<T extends boolean = true> {
  title?: T;
  category?: T;
  categoryID?: T;
  categoryTitle?: T;
  categorySimpleText?: T;
  categories?: T;
  categoriesCustomID?: T;
  categoryPoly?: T;
  categoryPolyMany?: T;
  categoryCustomID?: T;
  polymorphicRelations?: T;
  localizedPolymorphicRelations?: T;
  localized?: T;
  text?: T;
  number?: T;
  numberDefault?: T;
  numbersHasMany?: T;
  publishDate?: T;
  blocks?:
    | T
    | {
        'block-third'?:
          | T
          | {
              nested?:
                | T
                | {
                    'block-fourth'?:
                      | T
                      | {
                          nested?: T | {};
                          id?: T;
                          blockName?: T;
                        };
                  };
              id?: T;
              blockName?: T;
            };
      };
  testNestedGroup?:
    | T
    | {
        nestedLocalizedPolymorphicRelation?: T;
        nestedLocalizedText?: T;
        nestedText1?: T;
        nestedText2?: T;
      };
  D1?:
    | T
    | {
        D2?:
          | T
          | {
              D3?:
                | T
                | {
                    D4?: T;
                  };
            };
      };
  hasTransaction?: T;
  throwAfterChange?: T;
  arrayWithIDs?:
    | T
    | {
        text?: T;
        textLocalized?: T;
        id?: T;
      };
  arrayWithIDsLocalized?:
    | T
    | {
        text?: T;
        id?: T;
      };
  blocksWithIDs?:
    | T
    | {
        'block-first'?:
          | T
          | {
              text?: T;
              id?: T;
              blockName?: T;
            };
      };
  group?:
    | T
    | {
        text?: T;
      };
  tab?:
    | T
    | {
        text?: T;
      };
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "error-on-unnamed-fields_select".
 */
export interface ErrorOnUnnamedFieldsSelect<T extends boolean = true> {
  groupWithinUnnamedTab?:
    | T
    | {
        text?: T;
      };
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "default-values_select".
 */
export interface DefaultValuesSelect<T extends boolean = true> {
  title?: T;
  defaultValue?: T;
  array?:
    | T
    | {
        defaultValue?: T;
        id?: T;
      };
  group?:
    | T
    | {
        defaultValue?: T;
      };
  select?: T;
  point?: T;
  escape?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "relation-a_select".
 */
export interface RelationASelect<T extends boolean = true> {
  title?: T;
  richText?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "relation-b_select".
 */
export interface RelationBSelect<T extends boolean = true> {
  title?: T;
  relationship?: T;
  richText?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "pg-migrations_select".
 */
export interface PgMigrationsSelect<T extends boolean = true> {
  relation1?: T;
  myArray?:
    | T
    | {
        relation2?: T;
        mySubArray?:
          | T
          | {
              relation3?: T;
              id?: T;
            };
        id?: T;
      };
  myGroup?:
    | T
    | {
        relation4?: T;
      };
  myBlocks?:
    | T
    | {
        myBlock?:
          | T
          | {
              relation5?: T;
              relation6?: T;
              id?: T;
              blockName?: T;
            };
      };
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "custom-schema_select".
 */
export interface CustomSchemaSelect<T extends boolean = true> {
  text?: T;
  localizedText?: T;
  relationship?: T;
  select?: T;
  radio?: T;
  array?:
    | T
    | {
        text?: T;
        localizedText?: T;
        id?: T;
      };
  blocks?:
    | T
    | {
        'block-second'?:
          | T
          | {
              text?: T;
              localizedText?: T;
              id?: T;
              blockName?: T;
            };
      };
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "places_select".
 */
export interface PlacesSelect<T extends boolean = true> {
  country?: T;
  city?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "virtual-relations_select".
 */
export interface VirtualRelationsSelect<T extends boolean = true> {
  postTitle?: T;
  postsTitles?: T;
  postCategoriesTitles?: T;
  postTitleHidden?: T;
  postCategoryTitle?: T;
  postCategoryID?: T;
  postCategoryCustomID?: T;
  postID?: T;
  postLocalized?: T;
  post?: T;
  posts?: T;
  customID?: T;
  customIDValue?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "fields-persistance_select".
 */
export interface FieldsPersistanceSelect<T extends boolean = true> {
  text?: T;
  textHooked?: T;
  array?:
    | T
    | {
        id?: T;
      };
  textWithinRow?: T;
  textWithinCollapsible?: T;
  textWithinTabs?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "custom-ids_select".
 */
export interface CustomIdsSelect<T extends boolean = true> {
  id?: T;
  title?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "fake-custom-ids_select".
 */
export interface FakeCustomIdsSelect<T extends boolean = true> {
  title?: T;
  group?:
    | T
    | {
        id?: T;
      };
  myTab?:
    | T
    | {
        id?: T;
      };
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "relationships-migration_select".
 */
export interface RelationshipsMigrationSelect<T extends boolean = true> {
  relationship?: T;
  relationship_2?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "compound-indexes_select".
 */
export interface CompoundIndexesSelect<T extends boolean = true> {
  one?: T;
  two?: T;
  three?: T;
  group?:
    | T
    | {
        four?: T;
      };
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "aliases_select".
 */
export interface AliasesSelect<T extends boolean = true> {
  thisIsALongFieldNameThatCanCauseAPostgresErrorEvenThoughWeSetAShorterDBName?:
    | T
    | {
        nestedArray?:
          | T
          | {
              text?: T;
              id?: T;
            };
        id?: T;
      };
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "blocks-docs_select".
 */
export interface BlocksDocsSelect<T extends boolean = true> {
  testBlocksLocalized?:
    | T
    | {
        cta?:
          | T
          | {
              text?: T;
              id?: T;
              blockName?: T;
            };
      };
  testBlocks?:
    | T
    | {
        cta?:
          | T
          | {
              text?: T;
              id?: T;
              blockName?: T;
            };
      };
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "unique-fields_select".
 */
export interface UniqueFieldsSelect<T extends boolean = true> {
  slugField?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-kv_select".
 */
export interface PayloadKvSelect<T extends boolean = true> {
  key?: T;
  data?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "users_select".
 */
export interface UsersSelect<T extends boolean = true> {
  updatedAt?: T;
  createdAt?: T;
  email?: T;
  resetPasswordToken?: T;
  resetPasswordExpiration?: T;
  salt?: T;
  hash?: T;
  loginAttempts?: T;
  lockUntil?: T;
  sessions?:
    | T
    | {
        id?: T;
        createdAt?: T;
        expiresAt?: T;
      };
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-locked-documents_select".
 */
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
  document?: T;
  globalSlug?: T;
  user?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-preferences_select".
 */
export interface PayloadPreferencesSelect<T extends boolean = true> {
  user?: T;
  key?: T;
  value?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-migrations_select".
 */
export interface PayloadMigrationsSelect<T extends boolean = true> {
  name?: T;
  batch?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "header".
 */
export interface Header {
  id: string;
  itemsLvl1?:
    | {
        label?: string | null;
        itemsLvl2?:
          | {
              label?: string | null;
              itemsLvl3?:
                | {
                    label?: string | null;
                    itemsLvl4?:
                      | {
                          label?: string | null;
                          id?: string | null;
                        }[]
                      | null;
                    id?: string | null;
                  }[]
                | null;
              id?: string | null;
            }[]
          | null;
        id?: string | null;
      }[]
    | null;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "global".
 */
export interface Global {
  id: string;
  text?: string | null;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "global-2".
 */
export interface Global2 {
  id: string;
  text?: string | null;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "global-3".
 */
export interface Global3 {
  id: string;
  text?: string | null;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "virtual-relation-global".
 */
export interface VirtualRelationGlobal {
  id: string;
  postTitle?: string | null;
  post?: (string | null) | Post;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "header_select".
 */
export interface HeaderSelect<T extends boolean = true> {
  itemsLvl1?:
    | T
    | {
        label?: T;
        itemsLvl2?:
          | T
          | {
              label?: T;
              itemsLvl3?:
                | T
                | {
                    label?: T;
                    itemsLvl4?:
                      | T
                      | {
                          label?: T;
                          id?: T;
                        };
                    id?: T;
                  };
              id?: T;
            };
        id?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "global_select".
 */
export interface GlobalSelect<T extends boolean = true> {
  text?: T;
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "global-2_select".
 */
export interface Global2Select<T extends boolean = true> {
  text?: T;
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "global-3_select".
 */
export interface Global3Select<T extends boolean = true> {
  text?: T;
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "virtual-relation-global_select".
 */
export interface VirtualRelationGlobalSelect<T extends boolean = true> {
  postTitle?: T;
  post?: T;
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "auth".
 */
export interface Auth {
  [k: string]: unknown;
}


declare module 'payload' {
  // @ts-ignore 
  export interface GeneratedTypes extends Config {}
}