- Connect homepage, blog, services, header, footer to Payload CMS via local API - Add HomePage global with 7 editorial sections (hero, painPoints, solution, whyAxil, audience, process, finalCta) - Add ServerHeader/ServerFooter async wrappers with unstable_cache + tag-based ISR revalidation - Rewrite blog/[slug] and services/[slug] pages to fetch from CMS with fallbacks - Add seed script (src/lib/seed.ts) to populate all collections and globals from hardcoded defaults - Restructure app into (site)/ route group to fix Payload admin hydration conflicts - Make root layout a passthrough; (site)/layout.tsx owns html/body/fonts - Restrict user creation/update/delete to admin role only - Fix migration imports: type MigrateUpArgs/Down from @payloadcms/db-postgres - Wrap revalidateTag dynamic imports in try/catch for seed/CLI compatibility - Skip migrations in dev mode (Payload handles schema push automatically) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1696 lines
37 KiB
TypeScript
1696 lines
37 KiB
TypeScript
/* 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: {
|
|
users: User;
|
|
media: Media;
|
|
services: Service;
|
|
categories: Category;
|
|
posts: Post;
|
|
'team-members': TeamMember;
|
|
testimonials: Testimonial;
|
|
faqs: Faq;
|
|
forms: Form;
|
|
'form-submissions': FormSubmission;
|
|
'payload-kv': PayloadKv;
|
|
'payload-locked-documents': PayloadLockedDocument;
|
|
'payload-preferences': PayloadPreference;
|
|
'payload-migrations': PayloadMigration;
|
|
};
|
|
collectionsJoins: {};
|
|
collectionsSelect: {
|
|
users: UsersSelect<false> | UsersSelect<true>;
|
|
media: MediaSelect<false> | MediaSelect<true>;
|
|
services: ServicesSelect<false> | ServicesSelect<true>;
|
|
categories: CategoriesSelect<false> | CategoriesSelect<true>;
|
|
posts: PostsSelect<false> | PostsSelect<true>;
|
|
'team-members': TeamMembersSelect<false> | TeamMembersSelect<true>;
|
|
testimonials: TestimonialsSelect<false> | TestimonialsSelect<true>;
|
|
faqs: FaqsSelect<false> | FaqsSelect<true>;
|
|
forms: FormsSelect<false> | FormsSelect<true>;
|
|
'form-submissions': FormSubmissionsSelect<false> | FormSubmissionsSelect<true>;
|
|
'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
|
|
'payload-locked-documents':
|
|
| PayloadLockedDocumentsSelect<false>
|
|
| PayloadLockedDocumentsSelect<true>;
|
|
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
|
|
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
|
|
};
|
|
db: {
|
|
defaultIDType: number;
|
|
};
|
|
fallbackLocale: null;
|
|
globals: {
|
|
navigation: Navigation;
|
|
footer: Footer;
|
|
'site-settings': SiteSetting;
|
|
'home-page': HomePage;
|
|
};
|
|
globalsSelect: {
|
|
navigation: NavigationSelect<false> | NavigationSelect<true>;
|
|
footer: FooterSelect<false> | FooterSelect<true>;
|
|
'site-settings': SiteSettingsSelect<false> | SiteSettingsSelect<true>;
|
|
'home-page': HomePageSelect<false> | HomePageSelect<true>;
|
|
};
|
|
locale: null;
|
|
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` "users".
|
|
*/
|
|
export interface User {
|
|
id: number;
|
|
name: string;
|
|
role: 'admin' | 'editor';
|
|
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` "media".
|
|
*/
|
|
export interface Media {
|
|
id: number;
|
|
alt: string;
|
|
caption?: 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;
|
|
sizes?: {
|
|
thumbnail?: {
|
|
url?: string | null;
|
|
width?: number | null;
|
|
height?: number | null;
|
|
mimeType?: string | null;
|
|
filesize?: number | null;
|
|
filename?: string | null;
|
|
};
|
|
card?: {
|
|
url?: string | null;
|
|
width?: number | null;
|
|
height?: number | null;
|
|
mimeType?: string | null;
|
|
filesize?: number | null;
|
|
filename?: string | null;
|
|
};
|
|
hero?: {
|
|
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` "services".
|
|
*/
|
|
export interface Service {
|
|
id: number;
|
|
title: string;
|
|
/**
|
|
* URL-friendly identifier (auto-generated from title)
|
|
*/
|
|
slug: string;
|
|
icon: 'bookkeeping' | 'tax' | 'payroll' | 'vat';
|
|
/**
|
|
* Short subtitle shown on cards and hero
|
|
*/
|
|
tagline?: string | null;
|
|
description?: {
|
|
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;
|
|
whatsIncluded?:
|
|
| {
|
|
item: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
whoItsFor?:
|
|
| {
|
|
audience?: ('sole-trader' | 'limited-company' | 'startup' | 'other') | null;
|
|
description?: string | null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
howItWorks?:
|
|
| {
|
|
step: number;
|
|
title: string;
|
|
description: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
faq?:
|
|
| {
|
|
question: string;
|
|
answer?: {
|
|
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;
|
|
}[]
|
|
| null;
|
|
relatedTestimonials?: (number | Testimonial)[] | null;
|
|
seo?: {
|
|
metaTitle?: string | null;
|
|
metaDescription?: string | null;
|
|
ogImage?: (number | null) | Media;
|
|
};
|
|
publishedAt?: string | null;
|
|
status?: ('draft' | 'published') | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "testimonials".
|
|
*/
|
|
export interface Testimonial {
|
|
id: number;
|
|
clientName: string;
|
|
businessName?: string | null;
|
|
businessType?: ('sole-trader' | 'limited-company' | 'startup' | 'other') | null;
|
|
rating?: ('1' | '2' | '3' | '4' | '5') | null;
|
|
quote: string;
|
|
photo?: (number | null) | Media;
|
|
source?: ('google' | 'manual') | null;
|
|
service?: (number | null) | Service;
|
|
/**
|
|
* Show in homepage carousel
|
|
*/
|
|
featured?: boolean | null;
|
|
publishedAt?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "categories".
|
|
*/
|
|
export interface Category {
|
|
id: number;
|
|
name: string;
|
|
slug: string;
|
|
/**
|
|
* Hex colour for tag display (e.g. #3CC68A)
|
|
*/
|
|
colour?: string | 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;
|
|
slug: string;
|
|
author?: (number | null) | User;
|
|
category?: (number | null) | Category;
|
|
coverImage?: (number | null) | Media;
|
|
/**
|
|
* Short summary shown on listing pages (max 150 chars)
|
|
*/
|
|
excerpt?: string | null;
|
|
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;
|
|
/**
|
|
* Auto-calculated on save (minutes)
|
|
*/
|
|
readingTime?: number | null;
|
|
publishedAt?: string | null;
|
|
status?: ('draft' | 'published' | 'scheduled') | null;
|
|
tags?:
|
|
| {
|
|
tag?: string | null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
seo?: {
|
|
metaTitle?: string | null;
|
|
metaDescription?: string | null;
|
|
ogImage?: (number | null) | Media;
|
|
};
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "team-members".
|
|
*/
|
|
export interface TeamMember {
|
|
id: number;
|
|
name: string;
|
|
role?: string | null;
|
|
/**
|
|
* e.g. "ACCA, MAAT"
|
|
*/
|
|
qualifications?: string | null;
|
|
bio?: string | null;
|
|
photo?: (number | null) | Media;
|
|
linkedIn?: string | null;
|
|
/**
|
|
* Display order (lower = first)
|
|
*/
|
|
order?: number | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "faqs".
|
|
*/
|
|
export interface Faq {
|
|
id: number;
|
|
question: string;
|
|
answer?: {
|
|
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;
|
|
service?: (number | null) | Service;
|
|
/**
|
|
* Show on generic FAQ sections (not service-specific)
|
|
*/
|
|
global?: boolean | null;
|
|
order?: number | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* 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: 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: '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: 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;
|
|
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: 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;
|
|
}[]
|
|
| 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 interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-kv".
|
|
*/
|
|
export interface PayloadKv {
|
|
id: number;
|
|
key: string;
|
|
data:
|
|
| {
|
|
[k: string]: unknown;
|
|
}
|
|
| unknown[]
|
|
| string
|
|
| number
|
|
| boolean
|
|
| null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-locked-documents".
|
|
*/
|
|
export interface PayloadLockedDocument {
|
|
id: number;
|
|
document?:
|
|
| ({
|
|
relationTo: 'users';
|
|
value: number | User;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'media';
|
|
value: number | Media;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'services';
|
|
value: number | Service;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'categories';
|
|
value: number | Category;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'posts';
|
|
value: number | Post;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'team-members';
|
|
value: number | TeamMember;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'testimonials';
|
|
value: number | Testimonial;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'faqs';
|
|
value: number | Faq;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'forms';
|
|
value: number | Form;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'form-submissions';
|
|
value: number | FormSubmission;
|
|
} | 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` "users_select".
|
|
*/
|
|
export interface UsersSelect<T extends boolean = true> {
|
|
name?: T;
|
|
role?: 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` "media_select".
|
|
*/
|
|
export interface MediaSelect<T extends boolean = true> {
|
|
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;
|
|
};
|
|
card?:
|
|
| T
|
|
| {
|
|
url?: T;
|
|
width?: T;
|
|
height?: T;
|
|
mimeType?: T;
|
|
filesize?: T;
|
|
filename?: T;
|
|
};
|
|
hero?:
|
|
| 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` "services_select".
|
|
*/
|
|
export interface ServicesSelect<T extends boolean = true> {
|
|
title?: T;
|
|
slug?: T;
|
|
icon?: T;
|
|
tagline?: T;
|
|
description?: T;
|
|
whatsIncluded?:
|
|
| T
|
|
| {
|
|
item?: T;
|
|
id?: T;
|
|
};
|
|
whoItsFor?:
|
|
| T
|
|
| {
|
|
audience?: T;
|
|
description?: T;
|
|
id?: T;
|
|
};
|
|
howItWorks?:
|
|
| T
|
|
| {
|
|
step?: T;
|
|
title?: T;
|
|
description?: T;
|
|
id?: T;
|
|
};
|
|
faq?:
|
|
| T
|
|
| {
|
|
question?: T;
|
|
answer?: T;
|
|
id?: T;
|
|
};
|
|
relatedTestimonials?: T;
|
|
seo?:
|
|
| T
|
|
| {
|
|
metaTitle?: T;
|
|
metaDescription?: T;
|
|
ogImage?: T;
|
|
};
|
|
publishedAt?: T;
|
|
status?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "categories_select".
|
|
*/
|
|
export interface CategoriesSelect<T extends boolean = true> {
|
|
name?: T;
|
|
slug?: T;
|
|
colour?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "posts_select".
|
|
*/
|
|
export interface PostsSelect<T extends boolean = true> {
|
|
title?: T;
|
|
slug?: T;
|
|
author?: T;
|
|
category?: T;
|
|
coverImage?: T;
|
|
excerpt?: T;
|
|
content?: T;
|
|
readingTime?: T;
|
|
publishedAt?: T;
|
|
status?: T;
|
|
tags?:
|
|
| T
|
|
| {
|
|
tag?: T;
|
|
id?: T;
|
|
};
|
|
seo?:
|
|
| T
|
|
| {
|
|
metaTitle?: T;
|
|
metaDescription?: T;
|
|
ogImage?: T;
|
|
};
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "team-members_select".
|
|
*/
|
|
export interface TeamMembersSelect<T extends boolean = true> {
|
|
name?: T;
|
|
role?: T;
|
|
qualifications?: T;
|
|
bio?: T;
|
|
photo?: T;
|
|
linkedIn?: T;
|
|
order?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "testimonials_select".
|
|
*/
|
|
export interface TestimonialsSelect<T extends boolean = true> {
|
|
clientName?: T;
|
|
businessName?: T;
|
|
businessType?: T;
|
|
rating?: T;
|
|
quote?: T;
|
|
photo?: T;
|
|
source?: T;
|
|
service?: T;
|
|
featured?: T;
|
|
publishedAt?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "faqs_select".
|
|
*/
|
|
export interface FaqsSelect<T extends boolean = true> {
|
|
question?: T;
|
|
answer?: T;
|
|
service?: T;
|
|
global?: T;
|
|
order?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "forms_select".
|
|
*/
|
|
export interface FormsSelect<T extends boolean = true> {
|
|
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<T extends boolean = true> {
|
|
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` "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-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` "navigation".
|
|
*/
|
|
export interface Navigation {
|
|
id: number;
|
|
items?:
|
|
| {
|
|
label: string;
|
|
href?: string | null;
|
|
isDropdown?: boolean | null;
|
|
children?:
|
|
| {
|
|
label: string;
|
|
href: string;
|
|
icon?: string | null;
|
|
description?: string | 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` "footer".
|
|
*/
|
|
export interface Footer {
|
|
id: number;
|
|
columns?:
|
|
| {
|
|
heading: string;
|
|
links?:
|
|
| {
|
|
label: string;
|
|
href: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
contactInfo?: {
|
|
address?: string | null;
|
|
phone?: string | null;
|
|
email?: string | null;
|
|
};
|
|
socialLinks?: {
|
|
linkedIn?: string | null;
|
|
facebook?: string | null;
|
|
instagram?: string | null;
|
|
};
|
|
legalLinks?:
|
|
| {
|
|
label: string;
|
|
href: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
copyrightText?: string | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "site-settings".
|
|
*/
|
|
export interface SiteSetting {
|
|
id: number;
|
|
brand?: {
|
|
siteName?: string | null;
|
|
tagline?: string | null;
|
|
logo?: (number | null) | Media;
|
|
logoDark?: (number | null) | Media;
|
|
favicon?: (number | null) | Media;
|
|
};
|
|
contact?: {
|
|
address?: string | null;
|
|
phone?: string | null;
|
|
email?: string | null;
|
|
officeHours?: string | null;
|
|
};
|
|
social?: {
|
|
linkedIn?: string | null;
|
|
facebook?: string | null;
|
|
instagram?: string | null;
|
|
};
|
|
analytics?: {
|
|
googleAnalyticsId?: string | null;
|
|
googleTagManagerId?: string | null;
|
|
facebookPixelId?: string | null;
|
|
};
|
|
booking?: {
|
|
calendlyUrl?: string | null;
|
|
calendlyInline?: boolean | null;
|
|
};
|
|
chatBot?: {
|
|
chatBotMode?: ('disabled' | 'ai' | 'livechat' | 'leadcapture') | null;
|
|
chatBotCustomCode?: string | null;
|
|
};
|
|
webhooks?:
|
|
| {
|
|
name: string;
|
|
url: string;
|
|
active?: boolean | null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
notificationEmail?: string | null;
|
|
seoDefaults?: {
|
|
defaultMetaTitle?: string | null;
|
|
defaultMetaDescription?: string | null;
|
|
defaultOgImage?: (number | null) | Media;
|
|
};
|
|
scripts?: {
|
|
headerScripts?: string | null;
|
|
footerScripts?: string | null;
|
|
};
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "home-page".
|
|
*/
|
|
export interface HomePage {
|
|
id: number;
|
|
hero?: {
|
|
eyebrow?: string | null;
|
|
body?: string | null;
|
|
ctaPrimary?: string | null;
|
|
ctaSecondary?: string | null;
|
|
statsRating?: string | null;
|
|
statsSource?: string | null;
|
|
trustItems?:
|
|
| {
|
|
item: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
trustStrip?:
|
|
| {
|
|
item: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
};
|
|
painPoints?: {
|
|
overline?: string | null;
|
|
headline?: string | null;
|
|
statValue?: string | null;
|
|
statDescription?: string | null;
|
|
statSource?: string | null;
|
|
pains?:
|
|
| {
|
|
title: string;
|
|
body: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
};
|
|
solution?: {
|
|
overline?: string | null;
|
|
headline?: string | null;
|
|
body?: string | null;
|
|
checklist?:
|
|
| {
|
|
item: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
features?:
|
|
| {
|
|
title: string;
|
|
body: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
};
|
|
whyAxil?: {
|
|
overline?: string | null;
|
|
headline?: string | null;
|
|
stats?:
|
|
| {
|
|
prefix?: string | null;
|
|
value: number;
|
|
suffix?: string | null;
|
|
label: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
usps?:
|
|
| {
|
|
icon?: ('shield-check' | 'receipt' | 'person-circle' | 'cloud') | null;
|
|
title: string;
|
|
body: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
};
|
|
audience?: {
|
|
overline?: string | null;
|
|
headline?: string | null;
|
|
cards?:
|
|
| {
|
|
title: string;
|
|
tagline?: string | null;
|
|
body?: string | null;
|
|
perks?:
|
|
| {
|
|
perk: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
featured?: boolean | null;
|
|
href?: string | null;
|
|
cta?: string | null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
};
|
|
process?: {
|
|
overline?: string | null;
|
|
headline?: string | null;
|
|
body?: string | null;
|
|
ctaLabel?: string | null;
|
|
steps?:
|
|
| {
|
|
icon?: ('phone' | 'zap' | 'file-check' | 'trending-up') | null;
|
|
title: string;
|
|
description: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
};
|
|
finalCta?: {
|
|
overline?: string | null;
|
|
headline?: string | null;
|
|
body?: string | null;
|
|
ctaPrimary?: string | null;
|
|
ctaSecondary?: string | null;
|
|
reassurances?:
|
|
| {
|
|
item: string;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
};
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "navigation_select".
|
|
*/
|
|
export interface NavigationSelect<T extends boolean = true> {
|
|
items?:
|
|
| T
|
|
| {
|
|
label?: T;
|
|
href?: T;
|
|
isDropdown?: T;
|
|
children?:
|
|
| T
|
|
| {
|
|
label?: T;
|
|
href?: T;
|
|
icon?: T;
|
|
description?: T;
|
|
id?: 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<T extends boolean = true> {
|
|
columns?:
|
|
| T
|
|
| {
|
|
heading?: T;
|
|
links?:
|
|
| T
|
|
| {
|
|
label?: T;
|
|
href?: T;
|
|
id?: T;
|
|
};
|
|
id?: T;
|
|
};
|
|
contactInfo?:
|
|
| T
|
|
| {
|
|
address?: T;
|
|
phone?: T;
|
|
email?: T;
|
|
};
|
|
socialLinks?:
|
|
| T
|
|
| {
|
|
linkedIn?: T;
|
|
facebook?: T;
|
|
instagram?: T;
|
|
};
|
|
legalLinks?:
|
|
| T
|
|
| {
|
|
label?: T;
|
|
href?: T;
|
|
id?: T;
|
|
};
|
|
copyrightText?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
globalType?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "site-settings_select".
|
|
*/
|
|
export interface SiteSettingsSelect<T extends boolean = true> {
|
|
brand?:
|
|
| T
|
|
| {
|
|
siteName?: T;
|
|
tagline?: T;
|
|
logo?: T;
|
|
logoDark?: T;
|
|
favicon?: T;
|
|
};
|
|
contact?:
|
|
| T
|
|
| {
|
|
address?: T;
|
|
phone?: T;
|
|
email?: T;
|
|
officeHours?: T;
|
|
};
|
|
social?:
|
|
| T
|
|
| {
|
|
linkedIn?: T;
|
|
facebook?: T;
|
|
instagram?: T;
|
|
};
|
|
analytics?:
|
|
| T
|
|
| {
|
|
googleAnalyticsId?: T;
|
|
googleTagManagerId?: T;
|
|
facebookPixelId?: T;
|
|
};
|
|
booking?:
|
|
| T
|
|
| {
|
|
calendlyUrl?: T;
|
|
calendlyInline?: T;
|
|
};
|
|
chatBot?:
|
|
| T
|
|
| {
|
|
chatBotMode?: T;
|
|
chatBotCustomCode?: T;
|
|
};
|
|
webhooks?:
|
|
| T
|
|
| {
|
|
name?: T;
|
|
url?: T;
|
|
active?: T;
|
|
id?: T;
|
|
};
|
|
notificationEmail?: T;
|
|
seoDefaults?:
|
|
| T
|
|
| {
|
|
defaultMetaTitle?: T;
|
|
defaultMetaDescription?: T;
|
|
defaultOgImage?: T;
|
|
};
|
|
scripts?:
|
|
| T
|
|
| {
|
|
headerScripts?: T;
|
|
footerScripts?: T;
|
|
};
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
globalType?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "home-page_select".
|
|
*/
|
|
export interface HomePageSelect<T extends boolean = true> {
|
|
hero?:
|
|
| T
|
|
| {
|
|
eyebrow?: T;
|
|
body?: T;
|
|
ctaPrimary?: T;
|
|
ctaSecondary?: T;
|
|
statsRating?: T;
|
|
statsSource?: T;
|
|
trustItems?:
|
|
| T
|
|
| {
|
|
item?: T;
|
|
id?: T;
|
|
};
|
|
trustStrip?:
|
|
| T
|
|
| {
|
|
item?: T;
|
|
id?: T;
|
|
};
|
|
};
|
|
painPoints?:
|
|
| T
|
|
| {
|
|
overline?: T;
|
|
headline?: T;
|
|
statValue?: T;
|
|
statDescription?: T;
|
|
statSource?: T;
|
|
pains?:
|
|
| T
|
|
| {
|
|
title?: T;
|
|
body?: T;
|
|
id?: T;
|
|
};
|
|
};
|
|
solution?:
|
|
| T
|
|
| {
|
|
overline?: T;
|
|
headline?: T;
|
|
body?: T;
|
|
checklist?:
|
|
| T
|
|
| {
|
|
item?: T;
|
|
id?: T;
|
|
};
|
|
features?:
|
|
| T
|
|
| {
|
|
title?: T;
|
|
body?: T;
|
|
id?: T;
|
|
};
|
|
};
|
|
whyAxil?:
|
|
| T
|
|
| {
|
|
overline?: T;
|
|
headline?: T;
|
|
stats?:
|
|
| T
|
|
| {
|
|
prefix?: T;
|
|
value?: T;
|
|
suffix?: T;
|
|
label?: T;
|
|
id?: T;
|
|
};
|
|
usps?:
|
|
| T
|
|
| {
|
|
icon?: T;
|
|
title?: T;
|
|
body?: T;
|
|
id?: T;
|
|
};
|
|
};
|
|
audience?:
|
|
| T
|
|
| {
|
|
overline?: T;
|
|
headline?: T;
|
|
cards?:
|
|
| T
|
|
| {
|
|
title?: T;
|
|
tagline?: T;
|
|
body?: T;
|
|
perks?:
|
|
| T
|
|
| {
|
|
perk?: T;
|
|
id?: T;
|
|
};
|
|
featured?: T;
|
|
href?: T;
|
|
cta?: T;
|
|
id?: T;
|
|
};
|
|
};
|
|
process?:
|
|
| T
|
|
| {
|
|
overline?: T;
|
|
headline?: T;
|
|
body?: T;
|
|
ctaLabel?: T;
|
|
steps?:
|
|
| T
|
|
| {
|
|
icon?: T;
|
|
title?: T;
|
|
description?: T;
|
|
id?: T;
|
|
};
|
|
};
|
|
finalCta?:
|
|
| T
|
|
| {
|
|
overline?: T;
|
|
headline?: T;
|
|
body?: T;
|
|
ctaPrimary?: T;
|
|
ctaSecondary?: T;
|
|
reassurances?:
|
|
| T
|
|
| {
|
|
item?: T;
|
|
id?: 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' {
|
|
export interface GeneratedTypes extends Config {}
|
|
}
|