/* 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: { pages: Page; posts: Post; media: Media; categories: Category; users: User; tenants: Tenant; exercises: Exercise; exerciseTypes: ExerciseType; muscleGroups: MuscleGroup; equipments: Equipment; workouts: Workout; workoutTypes: WorkoutType; ingredients: Ingredient; mealItems: MealItem; meals: Meal; habbitCategories: HabbitCategory; habbits: Habbit; habbitEntries: HabbitEntry; schedules: Schedule; redirects: Redirect; forms: Form; 'form-submissions': FormSubmission; search: Search; 'payload-jobs': PayloadJob; 'payload-locked-documents': PayloadLockedDocument; 'payload-preferences': PayloadPreference; 'payload-migrations': PayloadMigration; }; collectionsJoins: {}; collectionsSelect: { pages: PagesSelect | PagesSelect; posts: PostsSelect | PostsSelect; media: MediaSelect | MediaSelect; categories: CategoriesSelect | CategoriesSelect; users: UsersSelect | UsersSelect; tenants: TenantsSelect | TenantsSelect; exercises: ExercisesSelect | ExercisesSelect; exerciseTypes: ExerciseTypesSelect | ExerciseTypesSelect; muscleGroups: MuscleGroupsSelect | MuscleGroupsSelect; equipments: EquipmentsSelect | EquipmentsSelect; workouts: WorkoutsSelect | WorkoutsSelect; workoutTypes: WorkoutTypesSelect | WorkoutTypesSelect; ingredients: IngredientsSelect | IngredientsSelect; mealItems: MealItemsSelect | MealItemsSelect; meals: MealsSelect | MealsSelect; habbitCategories: HabbitCategoriesSelect | HabbitCategoriesSelect; habbits: HabbitsSelect | HabbitsSelect; habbitEntries: HabbitEntriesSelect | HabbitEntriesSelect; schedules: SchedulesSelect | SchedulesSelect; redirects: RedirectsSelect | RedirectsSelect; forms: FormsSelect | FormsSelect; 'form-submissions': FormSubmissionsSelect | FormSubmissionsSelect; search: SearchSelect | SearchSelect; 'payload-jobs': PayloadJobsSelect | PayloadJobsSelect; 'payload-locked-documents': PayloadLockedDocumentsSelect | PayloadLockedDocumentsSelect; 'payload-preferences': PayloadPreferencesSelect | PayloadPreferencesSelect; 'payload-migrations': PayloadMigrationsSelect | PayloadMigrationsSelect; }; db: { defaultIDType: number; }; globals: { header: Header; footer: Footer; }; globalsSelect: { header: HeaderSelect | HeaderSelect; footer: FooterSelect | FooterSelect; }; locale: null; user: User & { collection: 'users'; }; jobs: { tasks: { schedulePublish: TaskSchedulePublish; 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` "pages". */ export interface Page { id: number; tenant?: (number | null) | Tenant; title: string; hero: { type: 'none' | 'highImpact' | 'mediumImpact' | 'lowImpact'; richText?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; links?: | { link: { type?: ('reference' | 'custom') | null; newTab?: boolean | null; reference?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null); url?: string | null; label: string; /** * Choose how the link should be rendered. */ appearance?: ('default' | 'outline') | null; }; id?: string | null; }[] | null; media?: (number | null) | Media; }; layout: (CallToActionBlock | ContentBlock | MediaBlock | ArchiveBlock | FormBlock)[]; meta?: { title?: string | null; /** * Maximum upload file size: 12MB. Recommended file size for images is <500KB. */ image?: (number | null) | Media; description?: string | null; }; publishedAt?: string | null; slug?: string | null; slugLock?: boolean | null; updatedAt: string; createdAt: string; _status?: ('draft' | 'published') | null; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "tenants". */ export interface Tenant { id: number; name: string; /** * Used for domain-based tenant handling */ domain?: string | null; /** * Used for url paths, example: /tenant-slug/page-slug */ slug: string; /** * If checked, logging in is not required to read. Useful for building public pages. */ allowPublicRead?: boolean | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "posts". */ export interface Post { id: number; title: string; heroImage?: (number | null) | Media; content: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; }; relatedPosts?: (number | Post)[] | null; categories?: (number | Category)[] | null; meta?: { title?: string | null; /** * Maximum upload file size: 12MB. Recommended file size for images is <500KB. */ image?: (number | null) | Media; description?: string | null; }; publishedAt?: string | null; authors?: (number | User)[] | null; populatedAuthors?: | { id?: string | null; name?: string | null; }[] | null; slug?: string | null; slugLock?: boolean | 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: number; alt?: string | null; caption?: { root: { type: string; children: { type: string; 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; 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; sizes?: { thumbnail?: { url?: string | null; width?: number | null; height?: number | null; mimeType?: string | null; filesize?: number | null; filename?: string | null; }; square?: { url?: string | null; width?: number | null; height?: number | null; mimeType?: string | null; filesize?: number | null; filename?: string | null; }; small?: { url?: string | null; width?: number | null; height?: number | null; mimeType?: string | null; filesize?: number | null; filename?: string | null; }; medium?: { url?: string | null; width?: number | null; height?: number | null; mimeType?: string | null; filesize?: number | null; filename?: string | null; }; large?: { url?: string | null; width?: number | null; height?: number | null; mimeType?: string | null; filesize?: number | null; filename?: string | null; }; xlarge?: { url?: string | null; width?: number | null; height?: number | null; mimeType?: string | null; filesize?: number | null; filename?: string | null; }; og?: { url?: string | null; width?: number | null; height?: number | null; mimeType?: string | null; filesize?: number | null; filename?: string | null; }; }; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "categories". */ export interface Category { id: number; title: string; slug?: string | null; slugLock?: boolean | null; parent?: (number | null) | Category; breadcrumbs?: | { doc?: (number | null) | Category; url?: string | null; label?: string | null; id?: string | null; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "users". */ export interface User { id: number; roles?: ('full-access' | 'super-admin' | 'user' | 'guest')[] | null; username?: string | null; accessLevel?: number | null; tenants?: | { tenant: number | Tenant; roles: ('tenant-admin' | 'tenant-client' | 'tenant-instructor')[]; id?: string | null; }[] | 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; password?: string | null; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "CallToActionBlock". */ export interface CallToActionBlock { richText?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; links?: | { link: { type?: ('reference' | 'custom') | null; newTab?: boolean | null; reference?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null); url?: string | null; label: string; /** * Choose how the link should be rendered. */ appearance?: ('default' | 'outline') | null; }; id?: string | null; }[] | null; id?: string | null; blockName?: string | null; blockType: 'cta'; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "ContentBlock". */ export interface ContentBlock { columns?: | { size?: ('oneThird' | 'half' | 'twoThirds' | 'full') | null; richText?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; enableLink?: boolean | null; link?: { type?: ('reference' | 'custom') | null; newTab?: boolean | null; reference?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null); url?: string | null; label: string; /** * Choose how the link should be rendered. */ appearance?: ('default' | 'outline') | null; }; id?: string | null; }[] | null; id?: string | null; blockName?: string | null; blockType: 'content'; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "MediaBlock". */ export interface MediaBlock { media: number | Media; id?: string | null; blockName?: string | null; blockType: 'mediaBlock'; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "ArchiveBlock". */ export interface ArchiveBlock { introContent?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; populateBy?: ('collection' | 'selection') | null; relationTo?: 'posts' | null; categories?: (number | Category)[] | null; limit?: number | null; selectedDocs?: | { relationTo: 'posts'; value: number | Post; }[] | null; id?: string | null; blockName?: string | null; blockType: 'archive'; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "FormBlock". */ export interface FormBlock { form: number | Form; enableIntro?: boolean | null; introContent?: { root: { type: string; children: { type: string; 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: 'formBlock'; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "forms". */ export interface Form { id: number; title: string; fields?: | ( | { name: string; label?: string | null; width?: number | null; required?: boolean | null; defaultValue?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'checkbox'; } | { name: string; label?: string | null; width?: number | null; required?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'country'; } | { name: string; label?: string | null; width?: number | null; required?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'email'; } | { message?: { root: { type: string; children: { type: string; 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: 'message'; } | { name: string; label?: string | null; width?: number | null; defaultValue?: number | null; required?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'number'; } | { name: string; label?: string | null; width?: number | null; defaultValue?: string | null; placeholder?: string | null; options?: | { label: string; value: string; id?: string | null; }[] | null; required?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'select'; } | { name: string; label?: string | null; width?: number | null; required?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'state'; } | { name: string; label?: string | null; width?: number | null; defaultValue?: string | null; required?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'text'; } | { name: string; label?: string | null; width?: number | null; defaultValue?: string | null; required?: boolean | null; id?: string | null; blockName?: string | null; blockType: 'textarea'; } )[] | null; submitButtonLabel?: string | null; /** * Choose whether to display an on-page message or redirect to a different page after they submit the form. */ confirmationType?: ('message' | 'redirect') | null; confirmationMessage?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; redirect?: { url: string; }; /** * Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email. */ emails?: | { emailTo?: string | null; cc?: string | null; bcc?: string | null; replyTo?: string | null; emailFrom?: string | null; subject: string; /** * Enter the message that should be sent in this email. */ message?: { root: { type: string; children: { type: string; 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; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "exercises". */ export interface Exercise { id: number; tenant?: (number | null) | Tenant; name?: string | null; type?: (number | ExerciseType)[] | null; muscleGroup?: (number | MuscleGroup)[] | null; equipmentNeeded?: (number | Equipment)[] | null; difficulty?: number | null; instructions?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; displayImage?: (number | null) | Media; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "exerciseTypes". */ export interface ExerciseType { id: number; tenant?: (number | null) | Tenant; /** * Strength, Cardio, etc... */ name?: string | null; description?: string | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "muscleGroups". */ export interface MuscleGroup { id: number; tenant?: (number | null) | Tenant; /** * Legs, Chest, or more specific... */ name?: string | null; description?: string | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "equipments". */ export interface Equipment { id: number; tenant?: (number | null) | Tenant; name?: string | null; description?: string | null; warning?: string | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "workouts". */ export interface Workout { id: number; tenant?: (number | null) | Tenant; name?: string | null; type?: (number | WorkoutType)[] | null; difficulty?: number | null; description?: string | null; durationMinutes?: number | null; exercises?: | { exercise?: (number | null) | Exercise; reps?: number | null; sets?: number | null; restMinutesAfterSet?: number | null; id?: string | null; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "workoutTypes". */ export interface WorkoutType { id: number; tenant?: (number | null) | Tenant; /** * Strength, Cardio, etc... */ name?: string | null; description?: string | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "ingredients". */ export interface Ingredient { id: number; tenant?: (number | null) | Tenant; name?: string | null; description?: string | null; /** * per 100g */ calories?: number | null; /** * per 100g */ protein?: number | null; /** * per 100g */ carbohydrates?: number | null; /** * per 100g */ fat?: number | null; /** * Is capable of being vertified Kosher. Not a declaration that ingredient is Kosher. */ canBeKosher?: boolean | null; /** * Is capable of being vertified Halal. Not a declaration that ingredient is Halal. */ canBeHalal?: boolean | null; /** * Is capable of being vertified Vegan. Not a declaration that ingredient is Vegan. */ canBeVegan?: boolean | null; /** * Is capable of being vertified Vegetarian. Not a declaration that ingredient is Vegetarian. */ canBeVegetarian?: boolean | null; /** * Is capable of being vertified Gluten Free. Not a declaration that ingredient is Gluten Free. */ canBeGlutenFree?: boolean | null; updatedAt: string; createdAt: string; } /** * Items that make up a meal, such as mashed potatoes, salad, grilled chicken, etc. * * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "mealItems". */ export interface MealItem { id: number; tenant?: (number | null) | Tenant; name?: string | null; /** * in Grams */ servingSize?: number | null; description?: string | null; /** * per Serving, calculated from ingredients */ calories?: number | null; /** * per Serving, calculated from ingredients */ protein?: number | null; /** * per Serving, calculated from ingredients */ carbohydrates?: number | null; /** * per Serving, calculated from ingredients */ fat?: number | null; /** * Calculated from ingredients. Is capable of being vertified Kosher. Not a declaration that ingredient is Kosher. */ canBeKosher?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Halal. Not a declaration that ingredient is Halal. */ canBeHalal?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Vegan. Not a declaration that ingredient is Vegan. */ canBeVegan?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Vegetarian. Not a declaration that ingredient is Vegetarian. */ canBeVegetarian?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Gluten Free. Not a declaration that ingredient is Gluten Free. */ canBeGlutenFree?: boolean | null; instructions?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; neededIngredients?: | { /** * as 100g intervals. (value of 3 = 300g) */ quantity?: number | null; ingredient?: (number | null) | Ingredient; id?: string | null; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "meals". */ export interface Meal { id: number; tenant?: (number | null) | Tenant; name?: string | null; description?: string | null; excludeItemInstructions?: boolean | null; instructions?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; /** * per Serving, calculated from ingredients */ calories?: number | null; /** * per Serving, calculated from ingredients */ protein?: number | null; /** * per Serving, calculated from ingredients */ carbohydrates?: number | null; /** * per Serving, calculated from ingredients */ fat?: number | null; /** * Calculated from ingredients. Is capable of being vertified Kosher. Not a declaration that ingredient is Kosher. */ canBeKosher?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Halal. Not a declaration that ingredient is Halal. */ canBeHalal?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Vegan. Not a declaration that ingredient is Vegan. */ canBeVegan?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Vegetarian. Not a declaration that ingredient is Vegetarian. */ canBeVegetarian?: boolean | null; /** * Calculated from ingredients. Is capable of being vertified Gluten Free. Not a declaration that ingredient is Gluten Free. */ canBeGlutenFree?: boolean | null; items?: | { item?: (number | null) | MealItem; /** * as Servings */ quantity?: number | null; id?: string | null; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "habbitCategories". */ export interface HabbitCategory { id: number; tenant?: (number | null) | Tenant; name?: string | null; description?: string | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "habbits". */ export interface Habbit { id: number; tenant?: (number | null) | Tenant; name?: string | null; description?: string | null; category?: (number | null) | HabbitCategory; instructions?: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; } | null; unitValue?: number | null; unitName?: string | null; user?: (number | null) | User; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "habbitEntries". */ export interface HabbitEntry { id: number; tenant?: (number | null) | Tenant; habbit?: (number | null) | Habbit; completedDate?: string | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "schedules". */ export interface Schedule { id: number; tenant?: (number | null) | Tenant; user?: (number | null) | User; scheduledItems?: | { item?: | ({ relationTo: 'workouts'; value: number | Workout; } | null) | ({ relationTo: 'meals'; value: number | Meal; } | null) | ({ relationTo: 'habbits'; value: number | Habbit; } | null); dateTime?: string | null; id?: string | null; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "redirects". */ export interface Redirect { id: number; /** * You will need to rebuild the website when changing this field. */ from: string; to?: { type?: ('reference' | 'custom') | null; reference?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null); url?: string | null; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "form-submissions". */ export interface FormSubmission { id: number; form: number | Form; submissionData?: | { field: string; value: string; id?: string | null; }[] | null; updatedAt: string; createdAt: string; } /** * This is a collection of automatically created search results. These results are used by the global site search and will be updated automatically as documents in the CMS are created or updated. * * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "search". */ export interface Search { id: number; title?: string | null; priority?: number | null; doc: { relationTo: 'posts'; value: number | Post; }; slug?: string | null; meta?: { title?: string | null; description?: string | null; image?: (number | null) | Media; }; categories?: | { relationTo?: string | null; id?: string | null; title?: string | null; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "payload-jobs". */ export interface PayloadJob { id: number; /** * 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' | 'schedulePublish'; 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' | 'schedulePublish') | 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: number; document?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null) | ({ relationTo: 'media'; value: number | Media; } | null) | ({ relationTo: 'categories'; value: number | Category; } | null) | ({ relationTo: 'users'; value: number | User; } | null) | ({ relationTo: 'tenants'; value: number | Tenant; } | null) | ({ relationTo: 'exercises'; value: number | Exercise; } | null) | ({ relationTo: 'exerciseTypes'; value: number | ExerciseType; } | null) | ({ relationTo: 'muscleGroups'; value: number | MuscleGroup; } | null) | ({ relationTo: 'equipments'; value: number | Equipment; } | null) | ({ relationTo: 'workouts'; value: number | Workout; } | null) | ({ relationTo: 'workoutTypes'; value: number | WorkoutType; } | null) | ({ relationTo: 'ingredients'; value: number | Ingredient; } | null) | ({ relationTo: 'mealItems'; value: number | MealItem; } | null) | ({ relationTo: 'meals'; value: number | Meal; } | null) | ({ relationTo: 'habbitCategories'; value: number | HabbitCategory; } | null) | ({ relationTo: 'habbits'; value: number | Habbit; } | null) | ({ relationTo: 'habbitEntries'; value: number | HabbitEntry; } | null) | ({ relationTo: 'schedules'; value: number | Schedule; } | null) | ({ relationTo: 'redirects'; value: number | Redirect; } | null) | ({ relationTo: 'forms'; value: number | Form; } | null) | ({ relationTo: 'form-submissions'; value: number | FormSubmission; } | null) | ({ relationTo: 'search'; value: number | Search; } | null) | ({ relationTo: 'payload-jobs'; value: number | PayloadJob; } | null); globalSlug?: string | null; user: { relationTo: 'users'; value: number | User; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "payload-preferences". */ export interface PayloadPreference { id: number; user: { relationTo: 'users'; value: number | 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: number; name?: string | null; batch?: number | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "pages_select". */ export interface PagesSelect { tenant?: T; title?: T; hero?: | T | { type?: T; richText?: T; links?: | T | { link?: | T | { type?: T; newTab?: T; reference?: T; url?: T; label?: T; appearance?: T; }; id?: T; }; media?: T; }; layout?: | T | { cta?: T | CallToActionBlockSelect; content?: T | ContentBlockSelect; mediaBlock?: T | MediaBlockSelect; archive?: T | ArchiveBlockSelect; formBlock?: T | FormBlockSelect; }; meta?: | T | { title?: T; image?: T; description?: T; }; publishedAt?: T; slug?: T; slugLock?: T; updatedAt?: T; createdAt?: T; _status?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "CallToActionBlock_select". */ export interface CallToActionBlockSelect { richText?: T; links?: | T | { link?: | T | { type?: T; newTab?: T; reference?: T; url?: T; label?: T; appearance?: T; }; id?: T; }; id?: T; blockName?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "ContentBlock_select". */ export interface ContentBlockSelect { columns?: | T | { size?: T; richText?: T; enableLink?: T; link?: | T | { type?: T; newTab?: T; reference?: T; url?: T; label?: T; appearance?: T; }; id?: T; }; id?: T; blockName?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "MediaBlock_select". */ export interface MediaBlockSelect { media?: T; id?: T; blockName?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "ArchiveBlock_select". */ export interface ArchiveBlockSelect { introContent?: T; populateBy?: T; relationTo?: T; categories?: T; limit?: T; selectedDocs?: T; id?: T; blockName?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "FormBlock_select". */ export interface FormBlockSelect { form?: T; enableIntro?: T; introContent?: T; id?: T; blockName?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "posts_select". */ export interface PostsSelect { title?: T; heroImage?: T; content?: T; relatedPosts?: T; categories?: T; meta?: | T | { title?: T; image?: T; description?: T; }; publishedAt?: T; authors?: T; populatedAuthors?: | T | { id?: T; name?: T; }; slug?: T; slugLock?: T; updatedAt?: T; createdAt?: T; _status?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "media_select". */ export interface MediaSelect { alt?: T; caption?: T; updatedAt?: T; createdAt?: T; url?: T; thumbnailURL?: T; filename?: T; mimeType?: T; filesize?: T; width?: T; height?: T; focalX?: T; focalY?: T; sizes?: | T | { thumbnail?: | T | { url?: T; width?: T; height?: T; mimeType?: T; filesize?: T; filename?: T; }; square?: | T | { url?: T; width?: T; height?: T; mimeType?: T; filesize?: T; filename?: T; }; small?: | T | { url?: T; width?: T; height?: T; mimeType?: T; filesize?: T; filename?: T; }; medium?: | T | { url?: T; width?: T; height?: T; mimeType?: T; filesize?: T; filename?: T; }; large?: | T | { url?: T; width?: T; height?: T; mimeType?: T; filesize?: T; filename?: T; }; xlarge?: | T | { url?: T; width?: T; height?: T; mimeType?: T; filesize?: T; filename?: T; }; og?: | T | { url?: T; width?: T; height?: T; mimeType?: T; filesize?: T; filename?: T; }; }; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "categories_select". */ export interface CategoriesSelect { title?: T; slug?: T; slugLock?: T; parent?: T; breadcrumbs?: | T | { doc?: T; url?: T; label?: T; id?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "users_select". */ export interface UsersSelect { roles?: T; username?: T; accessLevel?: T; tenants?: | T | { tenant?: T; roles?: T; id?: T; }; updatedAt?: T; createdAt?: T; email?: T; resetPasswordToken?: T; resetPasswordExpiration?: T; salt?: T; hash?: T; loginAttempts?: T; lockUntil?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "tenants_select". */ export interface TenantsSelect { name?: T; domain?: T; slug?: T; allowPublicRead?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "exercises_select". */ export interface ExercisesSelect { tenant?: T; name?: T; type?: T; muscleGroup?: T; equipmentNeeded?: T; difficulty?: T; instructions?: T; displayImage?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "exerciseTypes_select". */ export interface ExerciseTypesSelect { tenant?: T; name?: T; description?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "muscleGroups_select". */ export interface MuscleGroupsSelect { tenant?: T; name?: T; description?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "equipments_select". */ export interface EquipmentsSelect { tenant?: T; name?: T; description?: T; warning?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "workouts_select". */ export interface WorkoutsSelect { tenant?: T; name?: T; type?: T; difficulty?: T; description?: T; durationMinutes?: T; exercises?: | T | { exercise?: T; reps?: T; sets?: T; restMinutesAfterSet?: T; id?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "workoutTypes_select". */ export interface WorkoutTypesSelect { tenant?: T; name?: T; description?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "ingredients_select". */ export interface IngredientsSelect { tenant?: T; name?: T; description?: T; calories?: T; protein?: T; carbohydrates?: T; fat?: T; canBeKosher?: T; canBeHalal?: T; canBeVegan?: T; canBeVegetarian?: T; canBeGlutenFree?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "mealItems_select". */ export interface MealItemsSelect { tenant?: T; name?: T; servingSize?: T; description?: T; calories?: T; protein?: T; carbohydrates?: T; fat?: T; canBeKosher?: T; canBeHalal?: T; canBeVegan?: T; canBeVegetarian?: T; canBeGlutenFree?: T; instructions?: T; neededIngredients?: | T | { quantity?: T; ingredient?: T; id?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "meals_select". */ export interface MealsSelect { tenant?: T; name?: T; description?: T; excludeItemInstructions?: T; instructions?: T; calories?: T; protein?: T; carbohydrates?: T; fat?: T; canBeKosher?: T; canBeHalal?: T; canBeVegan?: T; canBeVegetarian?: T; canBeGlutenFree?: T; items?: | T | { item?: T; quantity?: T; id?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "habbitCategories_select". */ export interface HabbitCategoriesSelect { tenant?: T; name?: T; description?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "habbits_select". */ export interface HabbitsSelect { tenant?: T; name?: T; description?: T; category?: T; instructions?: T; unitValue?: T; unitName?: T; user?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "habbitEntries_select". */ export interface HabbitEntriesSelect { tenant?: T; habbit?: T; completedDate?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "schedules_select". */ export interface SchedulesSelect { tenant?: T; user?: T; scheduledItems?: | T | { item?: T; dateTime?: T; id?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "redirects_select". */ export interface RedirectsSelect { from?: T; to?: | T | { type?: T; reference?: T; url?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "forms_select". */ export interface FormsSelect { title?: T; fields?: | T | { checkbox?: | T | { name?: T; label?: T; width?: T; required?: T; defaultValue?: T; id?: T; blockName?: T; }; country?: | T | { name?: T; label?: T; width?: T; required?: T; id?: T; blockName?: T; }; email?: | T | { name?: T; label?: T; width?: T; required?: T; id?: T; blockName?: T; }; message?: | T | { message?: T; id?: T; blockName?: T; }; number?: | T | { name?: T; label?: T; width?: T; defaultValue?: T; required?: T; id?: T; blockName?: T; }; select?: | T | { name?: T; label?: T; width?: T; defaultValue?: T; placeholder?: T; options?: | T | { label?: T; value?: T; id?: T; }; required?: T; id?: T; blockName?: T; }; state?: | T | { name?: T; label?: T; width?: T; required?: T; id?: T; blockName?: T; }; text?: | T | { name?: T; label?: T; width?: T; defaultValue?: T; required?: T; id?: T; blockName?: T; }; textarea?: | T | { name?: T; label?: T; width?: T; defaultValue?: T; required?: T; id?: T; blockName?: T; }; }; submitButtonLabel?: T; confirmationType?: T; confirmationMessage?: T; redirect?: | T | { url?: T; }; emails?: | T | { emailTo?: T; cc?: T; bcc?: T; replyTo?: T; emailFrom?: T; subject?: T; message?: T; id?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "form-submissions_select". */ export interface FormSubmissionsSelect { form?: T; submissionData?: | T | { field?: T; value?: T; id?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "search_select". */ export interface SearchSelect { title?: T; priority?: T; doc?: T; slug?: T; meta?: | T | { title?: T; description?: T; image?: T; }; categories?: | T | { relationTo?: T; id?: T; title?: T; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "payload-jobs_select". */ export interface PayloadJobsSelect { 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 { 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 { 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 { 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: number; navItems?: | { link: { type?: ('reference' | 'custom') | null; newTab?: boolean | null; reference?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null); url?: string | null; label: string; }; id?: string | null; }[] | null; updatedAt?: string | null; createdAt?: string | null; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "footer". */ export interface Footer { id: number; navItems?: | { link: { type?: ('reference' | 'custom') | null; newTab?: boolean | null; reference?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null); url?: string | null; label: string; }; id?: string | null; }[] | null; updatedAt?: string | null; createdAt?: string | null; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "header_select". */ export interface HeaderSelect { navItems?: | T | { link?: | T | { type?: T; newTab?: T; reference?: T; url?: T; label?: T; }; id?: T; }; updatedAt?: T; createdAt?: T; globalType?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "footer_select". */ export interface FooterSelect { navItems?: | T | { link?: | T | { type?: T; newTab?: T; reference?: T; url?: T; label?: T; }; id?: T; }; updatedAt?: T; createdAt?: T; globalType?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "TaskSchedulePublish". */ export interface TaskSchedulePublish { input: { type?: ('publish' | 'unpublish') | null; locale?: string | null; doc?: | ({ relationTo: 'pages'; value: number | Page; } | null) | ({ relationTo: 'posts'; value: number | Post; } | null); global?: string | null; user?: (number | null) | User; }; output?: unknown; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "BannerBlock". */ export interface BannerBlock { style: 'info' | 'warning' | 'error' | 'success'; content: { root: { type: string; children: { type: string; version: number; [k: string]: unknown; }[]; direction: ('ltr' | 'rtl') | null; format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; indent: number; version: number; }; [k: string]: unknown; }; id?: string | null; blockName?: string | null; blockType: 'banner'; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "CodeBlock". */ export interface CodeBlock { language?: ('typescript' | 'javascript' | 'css') | null; code: string; id?: string | null; blockName?: string | null; blockType: 'code'; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "auth". */ export interface Auth { [k: string]: unknown; } declare module 'payload' { export interface GeneratedTypes extends Config {} }