Repository: payloadcms/payload
File: packages/payload/src/collections/config/types.ts (TypeScript)

Code before:
    unlock?: Access
    update?: Access
  }
  /**
   * Collection admin options
   */
  admin?: CollectionAdminOptions
  /**
   * Collection login options
   *
   * Use `true` to enable with default options
   */
  auth?: boolean | IncomingAuthType
  /**
   * Configuration for bulk operations
   */
  bulkOperations?: {
    /**
     * When true, bulk operations will process documents one at a time
     * in separate transactions instead of all at once in a single transaction.
     * Useful for avoiding database-side transaction limitations.
     *
     * @default false
     */
    singleTransaction?: boolean
  }
  /** Extension point to add your custom data. Server only. */
  custom?: Record<string, any>
  /**
   * Used to override the default naming of the database table or collection with your using a function or string
   * @WARNING: If you change this property with existing data, you will need to handle the renaming of the table in your database or by using migrations
   */
  dbName?: DBIdentifierName
  defaultPopulate?: IsAny<SelectFromCollectionSlug<TSlug>> extends true
    ? SelectType
    : SelectFromCollectionSlug<TSlug>
  /**
   * Default field to sort by in collection list view
   */
  defaultSort?: Sort
  /**
   * Disable the bulk edit operation for the collection in the admin panel and the API
   */
  disableBulkEdit?: boolean
  /**
   * When true, do not show the "Duplicate" button while editing documents within this collection and prevent `duplicate` from all APIs
   */
  disableDuplicate?: boolean
  /**
   * Opt-in to enable query presets for this collection.
   * @see https://payloadcms.com/docs/query-presets/overview

Review comment (suggestion):
I think we need to put this property inside our `compatibilityOptions` https://github.com/payloadcms/payload/blob/5bf3bd4f8c16b49e877bc6ee9653ddb9f0d38ab5/packages/db-mongodb/src/utilities/compatibilityOptions.ts. This can solve that problem for Azure Cosmos as well.

Code after:
   * Collection admin options
   */
  admin?: CollectionAdminOptions
  /**
   * Collection login options
   *
   * Use `true` to enable with default options
   */
  auth?: boolean | IncomingAuthType
  /**
   * Configuration for bulk operations
   */
  /** Extension point to add your custom data. Server only. */
  custom?: CollectionCustom
  /**
   * Used to override the default naming of the database table or collection with your using a function or string
   * @WARNING: If you change this property with existing data, you will need to handle the renaming of the table in your database or by using migrations
   */
  dbName?: DBIdentifierName
  defaultPopulate?: IsAny<SelectFromCollectionSlug<TSlug>> extends true
    ? SelectType
    : SelectFromCollectionSlug<TSlug>
  /**
   * Default field to sort by in collection list view
   */
  defaultSort?: Sort
  /**
   * Disable the bulk edit operation for the collection in the admin panel and the API
   */
  disableBulkEdit?: boolean
  /**
   * When true, do not show the "Duplicate" button while editing documents within this collection and prevent `duplicate` from all APIs
   */
  disableDuplicate?: boolean
  /**
   * Opt-in to enable query presets for this collection.
   * @see https://payloadcms.com/docs/query-presets/overview
   */
  enableQueryPresets?: boolean
  /**
   * Custom rest api endpoints, set false to disable all rest endpoints for this collection.
   */
  endpoints?: false | Omit<Endpoint, 'root'>[]
  fields: Field[]
  /**
   * Enables folders for this collection
   */
  folders?: boolean | CollectionFoldersConfiguration
  /**
   * Specify which fields should be selected always, regardless of the `select` query which can be useful that the field exists for access control / hooks
   */