/* 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'
  | 'UTC';

export interface Config {
  auth: {
    users: UserAuthOperations;
  };
  blocks: {};
  collections: {
    users: User;
    pages: Page;
    posts: Post;
    'posts-exports-only': PostsExportsOnly;
    'posts-imports-only': PostsImportsOnly;
    'posts-no-jobs-queue': PostsNoJobsQueue;
    'posts-with-limits': PostsWithLimit;
    'posts-with-s3': PostsWithS3;
    media: Media;
    'custom-id-pages': CustomIdPage;
    exports: Export;
    'posts-export': PostsExport;
    'posts-no-jobs-queue-export': PostsNoJobsQueueExport;
    'posts-with-s3-export': PostsWithS3Export;
    'posts-with-limits-export': PostsWithLimitsExport;
    imports: Import;
    'posts-import': PostsImport;
    'posts-with-s3-import': PostsWithS3Import;
    'posts-with-limits-import': PostsWithLimitsImport;
    'payload-kv': PayloadKv;
    'payload-jobs': PayloadJob;
    'payload-locked-documents': PayloadLockedDocument;
    'payload-preferences': PayloadPreference;
    'payload-migrations': PayloadMigration;
  };
  collectionsJoins: {};
  collectionsSelect: {
    users: UsersSelect<false> | UsersSelect<true>;
    pages: PagesSelect<false> | PagesSelect<true>;
    posts: PostsSelect<false> | PostsSelect<true>;
    'posts-exports-only': PostsExportsOnlySelect<false> | PostsExportsOnlySelect<true>;
    'posts-imports-only': PostsImportsOnlySelect<false> | PostsImportsOnlySelect<true>;
    'posts-no-jobs-queue': PostsNoJobsQueueSelect<false> | PostsNoJobsQueueSelect<true>;
    'posts-with-limits': PostsWithLimitsSelect<false> | PostsWithLimitsSelect<true>;
    'posts-with-s3': PostsWithS3Select<false> | PostsWithS3Select<true>;
    media: MediaSelect<false> | MediaSelect<true>;
    'custom-id-pages': CustomIdPagesSelect<false> | CustomIdPagesSelect<true>;
    exports: ExportsSelect<false> | ExportsSelect<true>;
    'posts-export': PostsExportSelect<false> | PostsExportSelect<true>;
    'posts-no-jobs-queue-export': PostsNoJobsQueueExportSelect<false> | PostsNoJobsQueueExportSelect<true>;
    'posts-with-s3-export': PostsWithS3ExportSelect<false> | PostsWithS3ExportSelect<true>;
    'posts-with-limits-export': PostsWithLimitsExportSelect<false> | PostsWithLimitsExportSelect<true>;
    imports: ImportsSelect<false> | ImportsSelect<true>;
    'posts-import': PostsImportSelect<false> | PostsImportSelect<true>;
    'posts-with-s3-import': PostsWithS3ImportSelect<false> | PostsWithS3ImportSelect<true>;
    'posts-with-limits-import': PostsWithLimitsImportSelect<false> | PostsWithLimitsImportSelect<true>;
    'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
    'payload-jobs': PayloadJobsSelect<false> | PayloadJobsSelect<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' | 'de' | 'he')
    | ('en' | 'es' | 'de' | 'he')[];
  globals: {};
  globalsSelect: {};
  locale: 'en' | 'es' | 'de' | 'he';
  widgets: {
    collections: CollectionsWidget;
  };
  user: User;
  jobs: {
    tasks: {
      createCollectionExport: TaskCreateCollectionExport;
      createCollectionImport: TaskCreateCollectionImport;
      inline: {
        input: unknown;
        output: 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` "users".
 */
export interface User {
  id: string;
  name?: string | null;
  limit?: number | null;
  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` "pages".
 */
export interface Page {
  id: string;
  title: string;
  localized?: string | null;
  custom?: string | null;
  customRelationship?: (string | null) | User;
  customRelNameEmail?: (string | null) | User;
  customRelIdName?: (string | null) | User;
  group?: {
    value?: string | null;
    ignore?: string | null;
    array?:
      | {
          field1?: string | null;
          field2?: string | null;
          id?: string | null;
        }[]
      | null;
    custom?: string | null;
  };
  tabToCSV?: string | null;
  namedTab?: {
    /**
     * Field inside a named tab
     */
    tabToCSV?: string | null;
  };
  array?:
    | {
        field1?: string | null;
        field2?: string | null;
        id?: string | null;
      }[]
    | null;
  blocks?:
    | (
        | {
            title?: string | null;
            id?: string | null;
            blockName?: string | null;
            blockType: 'hero';
          }
        | {
            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;
            id?: string | null;
            blockName?: string | null;
            blockType: 'content';
          }
      )[]
    | null;
  author?: (string | null) | User;
  virtualRelationship?: string | null;
  virtual?: string | null;
  hasManyNumber?: number[] | null;
  jsonField?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  richTextField?: {
    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;
  relationship?: (string | null) | User;
  excerpt?: string | null;
  /**
   * Date field for testing export/import timezone handling
   */
  date?: string | null;
  /**
   * Date field for testing export/import timezone handling
   */
  dateWithTimezone?: string | null;
  dateWithTimezone_tz?: SupportedTimezones;
  hasOnePolymorphic?:
    | ({
        relationTo: 'users';
        value: string | User;
      } | null)
    | ({
        relationTo: 'posts';
        value: string | Post;
      } | null);
  hasManyPolymorphic?:
    | (
        | {
            relationTo: 'users';
            value: string | User;
          }
        | {
            relationTo: 'posts';
            value: string | Post;
          }
      )[]
    | null;
  hasManyMonomorphic?: (string | Post)[] | null;
  textFieldInCollapsible?: string | null;
  checkbox?: boolean | null;
  select?: ('option1' | 'option2' | 'option3') | null;
  selectHasMany?: ('tagA' | 'tagB' | 'tagC' | 'tagD')[] | null;
  radio?: ('radio1' | 'radio2' | 'radio3') | null;
  email?: string | null;
  textarea?: string | null;
  code?: string | null;
  /**
   * @minItems 2
   * @maxItems 2
   */
  point?: [number, number] | null;
  textHasMany?: string[] | null;
  upload?: (string | null) | Media;
  updatedAt: string;
  createdAt: string;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts".
 */
export interface Post {
  id: string;
  title: string;
  content?: {
    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;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "media".
 */
export interface Media {
  id: string;
  alt?: string | null;
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-exports-only".
 */
export interface PostsExportsOnly {
  id: string;
  title: string;
  content?: {
    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;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-imports-only".
 */
export interface PostsImportsOnly {
  id: string;
  title: string;
  content?: {
    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;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-no-jobs-queue".
 */
export interface PostsNoJobsQueue {
  id: string;
  title: string;
  content?: {
    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;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-limits".
 */
export interface PostsWithLimit {
  id: string;
  title: string;
  content?: string | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-s3".
 */
export interface PostsWithS3 {
  id: string;
  title: string;
  updatedAt: string;
  createdAt: string;
  _status?: ('draft' | 'published') | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "custom-id-pages".
 */
export interface CustomIdPage {
  id: string;
  title: string;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "exports".
 */
export interface Export {
  id: string;
  name?: string | null;
  format: 'csv' | 'json';
  limit?: number | null;
  page?: number | null;
  sort?: string | null;
  sortOrder?: ('asc' | 'desc') | null;
  locale?: ('all' | 'en' | 'es' | 'de' | 'he') | null;
  drafts?: ('yes' | 'no') | null;
  selectionToUse?: ('currentSelection' | 'currentFilters' | 'all') | null;
  fields?: string[] | null;
  collectionSlug: string;
  where?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-export".
 */
export interface PostsExport {
  id: string;
  name?: string | null;
  format: 'csv' | 'json';
  limit?: number | null;
  page?: number | null;
  sort?: string | null;
  sortOrder?: ('asc' | 'desc') | null;
  locale?: ('all' | 'en' | 'es' | 'de' | 'he') | null;
  drafts?: ('yes' | 'no') | null;
  selectionToUse?: ('currentSelection' | 'currentFilters' | 'all') | null;
  fields?: string[] | null;
  collectionSlug: string;
  where?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-no-jobs-queue-export".
 */
export interface PostsNoJobsQueueExport {
  id: string;
  name?: string | null;
  format: 'csv' | 'json';
  limit?: number | null;
  page?: number | null;
  sort?: string | null;
  sortOrder?: ('asc' | 'desc') | null;
  locale?: ('all' | 'en' | 'es' | 'de' | 'he') | null;
  drafts?: ('yes' | 'no') | null;
  selectionToUse?: ('currentSelection' | 'currentFilters' | 'all') | null;
  fields?: string[] | null;
  collectionSlug: string;
  where?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-s3-export".
 */
export interface PostsWithS3Export {
  id: string;
  name?: string | null;
  format: 'csv' | 'json';
  limit?: number | null;
  page?: number | null;
  sort?: string | null;
  sortOrder?: ('asc' | 'desc') | null;
  locale?: ('all' | 'en' | 'es' | 'de' | 'he') | null;
  drafts?: ('yes' | 'no') | null;
  selectionToUse?: ('currentSelection' | 'currentFilters' | 'all') | null;
  fields?: string[] | null;
  collectionSlug: string;
  where?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-limits-export".
 */
export interface PostsWithLimitsExport {
  id: string;
  name?: string | null;
  format: 'csv' | 'json';
  limit?: number | null;
  page?: number | null;
  sort?: string | null;
  sortOrder?: ('asc' | 'desc') | null;
  locale?: ('all' | 'en' | 'es' | 'de' | 'he') | null;
  drafts?: ('yes' | 'no') | null;
  selectionToUse?: ('currentSelection' | 'currentFilters' | 'all') | null;
  fields?: string[] | null;
  collectionSlug: string;
  where?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "imports".
 */
export interface Import {
  id: string;
  collectionSlug: string;
  importMode?: ('create' | 'update' | 'upsert') | null;
  matchField?: string | null;
  status?: ('pending' | 'completed' | 'partial' | 'failed') | null;
  summary?: {
    imported?: number | null;
    updated?: number | null;
    total?: number | null;
    issues?: number | null;
    issueDetails?:
      | {
          [k: string]: unknown;
        }
      | unknown[]
      | string
      | number
      | boolean
      | null;
  };
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-import".
 */
export interface PostsImport {
  id: string;
  collectionSlug: string;
  importMode?: ('create' | 'update' | 'upsert') | null;
  matchField?: string | null;
  status?: ('pending' | 'completed' | 'partial' | 'failed') | null;
  summary?: {
    imported?: number | null;
    updated?: number | null;
    total?: number | null;
    issues?: number | null;
    issueDetails?:
      | {
          [k: string]: unknown;
        }
      | unknown[]
      | string
      | number
      | boolean
      | null;
  };
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-s3-import".
 */
export interface PostsWithS3Import {
  id: string;
  collectionSlug: string;
  importMode?: ('create' | 'update' | 'upsert') | null;
  matchField?: string | null;
  status?: ('pending' | 'completed' | 'partial' | 'failed') | null;
  summary?: {
    imported?: number | null;
    updated?: number | null;
    total?: number | null;
    issues?: number | null;
    issueDetails?:
      | {
          [k: string]: unknown;
        }
      | unknown[]
      | string
      | number
      | boolean
      | null;
  };
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-limits-import".
 */
export interface PostsWithLimitsImport {
  id: string;
  collectionSlug: string;
  importMode?: ('create' | 'update' | 'upsert') | null;
  matchField?: string | null;
  status?: ('pending' | 'completed' | 'partial' | 'failed') | null;
  summary?: {
    imported?: number | null;
    updated?: number | null;
    total?: number | null;
    issues?: number | null;
    issueDetails?:
      | {
          [k: string]: unknown;
        }
      | unknown[]
      | string
      | number
      | boolean
      | null;
  };
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
}
/**
 * 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` "payload-jobs".
 */
export interface PayloadJob {
  id: string;
  /**
   * Input data provided to the job
   */
  input?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  taskStatus?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  completedAt?: string | null;
  totalTried?: number | null;
  /**
   * If hasError is true this job will not be retried
   */
  hasError?: boolean | null;
  /**
   * If hasError is true, this is the error that caused it
   */
  error?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  /**
   * Task execution log
   */
  log?:
    | {
        executedAt: string;
        completedAt: string;
        taskSlug: 'inline' | 'createCollectionExport' | 'createCollectionImport';
        taskID: string;
        input?:
          | {
              [k: string]: unknown;
            }
          | unknown[]
          | string
          | number
          | boolean
          | null;
        output?:
          | {
              [k: string]: unknown;
            }
          | unknown[]
          | string
          | number
          | boolean
          | null;
        state: 'failed' | 'succeeded';
        error?:
          | {
              [k: string]: unknown;
            }
          | unknown[]
          | string
          | number
          | boolean
          | null;
        id?: string | null;
      }[]
    | null;
  taskSlug?: ('inline' | 'createCollectionExport' | 'createCollectionImport') | null;
  queue?: string | null;
  waitUntil?: string | null;
  processing?: boolean | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-locked-documents".
 */
export interface PayloadLockedDocument {
  id: string;
  document?:
    | ({
        relationTo: 'users';
        value: string | User;
      } | null)
    | ({
        relationTo: 'pages';
        value: string | Page;
      } | null)
    | ({
        relationTo: 'posts';
        value: string | Post;
      } | null)
    | ({
        relationTo: 'posts-exports-only';
        value: string | PostsExportsOnly;
      } | null)
    | ({
        relationTo: 'posts-imports-only';
        value: string | PostsImportsOnly;
      } | null)
    | ({
        relationTo: 'posts-no-jobs-queue';
        value: string | PostsNoJobsQueue;
      } | null)
    | ({
        relationTo: 'posts-with-limits';
        value: string | PostsWithLimit;
      } | null)
    | ({
        relationTo: 'posts-with-s3';
        value: string | PostsWithS3;
      } | null)
    | ({
        relationTo: 'media';
        value: string | Media;
      } | null)
    | ({
        relationTo: 'custom-id-pages';
        value: string | CustomIdPage;
      } | 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` "users_select".
 */
export interface UsersSelect<T extends boolean = true> {
  name?: T;
  limit?: T;
  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` "pages_select".
 */
export interface PagesSelect<T extends boolean = true> {
  title?: T;
  localized?: T;
  custom?: T;
  customRelationship?: T;
  customRelNameEmail?: T;
  customRelIdName?: T;
  group?:
    | T
    | {
        value?: T;
        ignore?: T;
        array?:
          | T
          | {
              field1?: T;
              field2?: T;
              id?: T;
            };
        custom?: T;
      };
  tabToCSV?: T;
  namedTab?:
    | T
    | {
        tabToCSV?: T;
      };
  array?:
    | T
    | {
        field1?: T;
        field2?: T;
        id?: T;
      };
  blocks?:
    | T
    | {
        hero?:
          | T
          | {
              title?: T;
              id?: T;
              blockName?: T;
            };
        content?:
          | T
          | {
              richText?: T;
              id?: T;
              blockName?: T;
            };
      };
  author?: T;
  virtualRelationship?: T;
  virtual?: T;
  hasManyNumber?: T;
  jsonField?: T;
  richTextField?: T;
  relationship?: T;
  excerpt?: T;
  date?: T;
  dateWithTimezone?: T;
  dateWithTimezone_tz?: T;
  hasOnePolymorphic?: T;
  hasManyPolymorphic?: T;
  hasManyMonomorphic?: T;
  textFieldInCollapsible?: T;
  checkbox?: T;
  select?: T;
  selectHasMany?: T;
  radio?: T;
  email?: T;
  textarea?: T;
  code?: T;
  point?: T;
  textHasMany?: T;
  upload?: 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;
  content?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-exports-only_select".
 */
export interface PostsExportsOnlySelect<T extends boolean = true> {
  title?: T;
  content?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-imports-only_select".
 */
export interface PostsImportsOnlySelect<T extends boolean = true> {
  title?: T;
  content?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-no-jobs-queue_select".
 */
export interface PostsNoJobsQueueSelect<T extends boolean = true> {
  title?: T;
  content?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-limits_select".
 */
export interface PostsWithLimitsSelect<T extends boolean = true> {
  title?: T;
  content?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-s3_select".
 */
export interface PostsWithS3Select<T extends boolean = true> {
  title?: T;
  updatedAt?: T;
  createdAt?: T;
  _status?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "media_select".
 */
export interface MediaSelect<T extends boolean = true> {
  alt?: T;
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "custom-id-pages_select".
 */
export interface CustomIdPagesSelect<T extends boolean = true> {
  id?: T;
  title?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "exports_select".
 */
export interface ExportsSelect<T extends boolean = true> {
  name?: T;
  format?: T;
  limit?: T;
  page?: T;
  sort?: T;
  sortOrder?: T;
  locale?: T;
  drafts?: T;
  selectionToUse?: T;
  fields?: T;
  collectionSlug?: T;
  where?: T;
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-export_select".
 */
export interface PostsExportSelect<T extends boolean = true> {
  name?: T;
  format?: T;
  limit?: T;
  page?: T;
  sort?: T;
  sortOrder?: T;
  locale?: T;
  drafts?: T;
  selectionToUse?: T;
  fields?: T;
  collectionSlug?: T;
  where?: T;
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-no-jobs-queue-export_select".
 */
export interface PostsNoJobsQueueExportSelect<T extends boolean = true> {
  name?: T;
  format?: T;
  limit?: T;
  page?: T;
  sort?: T;
  sortOrder?: T;
  locale?: T;
  drafts?: T;
  selectionToUse?: T;
  fields?: T;
  collectionSlug?: T;
  where?: T;
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-s3-export_select".
 */
export interface PostsWithS3ExportSelect<T extends boolean = true> {
  name?: T;
  format?: T;
  limit?: T;
  page?: T;
  sort?: T;
  sortOrder?: T;
  locale?: T;
  drafts?: T;
  selectionToUse?: T;
  fields?: T;
  collectionSlug?: T;
  where?: T;
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-limits-export_select".
 */
export interface PostsWithLimitsExportSelect<T extends boolean = true> {
  name?: T;
  format?: T;
  limit?: T;
  page?: T;
  sort?: T;
  sortOrder?: T;
  locale?: T;
  drafts?: T;
  selectionToUse?: T;
  fields?: T;
  collectionSlug?: T;
  where?: T;
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "imports_select".
 */
export interface ImportsSelect<T extends boolean = true> {
  collectionSlug?: T;
  importMode?: T;
  matchField?: T;
  status?: T;
  summary?:
    | T
    | {
        imported?: T;
        updated?: T;
        total?: T;
        issues?: T;
        issueDetails?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-import_select".
 */
export interface PostsImportSelect<T extends boolean = true> {
  collectionSlug?: T;
  importMode?: T;
  matchField?: T;
  status?: T;
  summary?:
    | T
    | {
        imported?: T;
        updated?: T;
        total?: T;
        issues?: T;
        issueDetails?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-s3-import_select".
 */
export interface PostsWithS3ImportSelect<T extends boolean = true> {
  collectionSlug?: T;
  importMode?: T;
  matchField?: T;
  status?: T;
  summary?:
    | T
    | {
        imported?: T;
        updated?: T;
        total?: T;
        issues?: T;
        issueDetails?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "posts-with-limits-import_select".
 */
export interface PostsWithLimitsImportSelect<T extends boolean = true> {
  collectionSlug?: T;
  importMode?: T;
  matchField?: T;
  status?: T;
  summary?:
    | T
    | {
        imported?: T;
        updated?: T;
        total?: T;
        issues?: T;
        issueDetails?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: 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` "payload-jobs_select".
 */
export interface PayloadJobsSelect<T extends boolean = true> {
  input?: T;
  taskStatus?: T;
  completedAt?: T;
  totalTried?: T;
  hasError?: T;
  error?: T;
  log?:
    | T
    | {
        executedAt?: T;
        completedAt?: T;
        taskSlug?: T;
        taskID?: T;
        input?: T;
        output?: T;
        state?: T;
        error?: T;
        id?: T;
      };
  taskSlug?: T;
  queue?: T;
  waitUntil?: T;
  processing?: T;
  updatedAt?: T;
  createdAt?: 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` "collections_widget".
 */
export interface CollectionsWidget {
  data?: {
    [k: string]: unknown;
  };
  width: 'full';
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "TaskCreateCollectionExport".
 */
export interface TaskCreateCollectionExport {
  input: {
    id: string;
    name: string;
    batchSize?: number | null;
    collectionSlug:
      | 'users'
      | 'pages'
      | 'posts'
      | 'posts-exports-only'
      | 'posts-imports-only'
      | 'posts-no-jobs-queue'
      | 'posts-with-limits'
      | 'posts-with-s3'
      | 'media'
      | 'custom-id-pages'
      | 'exports'
      | 'posts-export'
      | 'posts-no-jobs-queue-export'
      | 'posts-with-s3-export'
      | 'posts-with-limits-export'
      | 'imports'
      | 'posts-import'
      | 'posts-with-s3-import'
      | 'posts-with-limits-import';
    drafts?: ('yes' | 'no') | null;
    exportCollection: string;
    fields?: string[] | null;
    format: 'csv' | 'json';
    limit?: number | null;
    locale?: string | null;
    maxLimit?: number | null;
    page?: number | null;
    sort?: string | null;
    userCollection?: string | null;
    userID?: string | null;
    where?:
      | {
          [k: string]: unknown;
        }
      | unknown[]
      | string
      | number
      | boolean
      | null;
  };
  output?: unknown;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "TaskCreateCollectionImport".
 */
export interface TaskCreateCollectionImport {
  input: {
    importId: string;
    importCollection: string;
    userID?: string | null;
    userCollection?: string | null;
    batchSize?: number | null;
    debug?: boolean | null;
    defaultVersionStatus?: ('draft' | 'published') | null;
    maxLimit?: number | null;
  };
  output?: unknown;
}
/**
 * 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 {}
}