/* 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: { posts: Post; media: Media; payments: Payment; invoices: Invoice; refunds: Refund; users: User; 'payload-locked-documents': PayloadLockedDocument; 'payload-preferences': PayloadPreference; 'payload-migrations': PayloadMigration; }; collectionsJoins: {}; collectionsSelect: { posts: PostsSelect | PostsSelect; media: MediaSelect | MediaSelect; payments: PaymentsSelect | PaymentsSelect; invoices: InvoicesSelect | InvoicesSelect; refunds: RefundsSelect | RefundsSelect; users: UsersSelect | UsersSelect; 'payload-locked-documents': PayloadLockedDocumentsSelect | PayloadLockedDocumentsSelect; 'payload-preferences': PayloadPreferencesSelect | PayloadPreferencesSelect; 'payload-migrations': PayloadMigrationsSelect | PayloadMigrationsSelect; }; db: { defaultIDType: number; }; globals: {}; globalsSelect: {}; locale: null; user: User & { collection: 'users'; }; 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` "posts". */ export interface Post { id: number; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "media". */ export interface Media { id: number; 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` "payments". */ export interface Payment { id: number; provider: 'stripe' | 'mollie' | 'test'; /** * The payment ID from the payment provider */ providerId?: string | null; status: 'pending' | 'processing' | 'succeeded' | 'failed' | 'canceled' | 'refunded' | 'partially_refunded'; /** * Amount in cents (e.g., 2000 = $20.00) */ amount: number; /** * ISO 4217 currency code (e.g., USD, EUR) */ currency: string; /** * Payment description */ description?: string | null; invoice?: (number | null) | Invoice; /** * Additional metadata for the payment */ metadata?: | { [k: string]: unknown; } | unknown[] | string | number | boolean | null; /** * Raw data from the payment provider */ providerData?: | { [k: string]: unknown; } | unknown[] | string | number | boolean | null; refunds?: (number | Refund)[] | null; version?: number | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "invoices". */ export interface Invoice { id: number; /** * Invoice number (e.g., INV-001) */ number: string; /** * Customer billing information */ customerInfo: { /** * Customer name */ name: string; /** * Customer email address */ email: string; /** * Customer phone number */ phone?: string | null; /** * Company name (optional) */ company?: string | null; /** * Tax ID or VAT number */ taxId?: string | null; }; /** * Billing address */ billingAddress: { /** * Address line 1 */ line1: string; /** * Address line 2 */ line2?: string | null; city: string; /** * State or province */ state?: string | null; /** * Postal or ZIP code */ postalCode: string; /** * Country code (e.g., US, GB) */ country: string; }; status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible'; /** * ISO 4217 currency code (e.g., USD, EUR) */ currency: string; items: { description: string; quantity: number; /** * Amount in cents */ unitAmount: number; /** * Calculated: quantity × unitAmount */ totalAmount?: number | null; id?: string | null; }[]; /** * Sum of all line items */ subtotal?: number | null; /** * Tax amount in cents */ taxAmount?: number | null; /** * Total amount (subtotal + tax) */ amount?: number | null; dueDate?: string | null; paidAt?: string | null; payment?: (number | null) | Payment; /** * Internal notes */ notes?: string | null; /** * Additional invoice metadata */ metadata?: | { [k: string]: unknown; } | unknown[] | string | number | boolean | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "refunds". */ export interface Refund { id: number; /** * The refund ID from the payment provider */ providerId: string; payment: number | Payment; status: 'pending' | 'processing' | 'succeeded' | 'failed' | 'canceled'; /** * Refund amount in cents */ amount: number; /** * ISO 4217 currency code (e.g., USD, EUR) */ currency: string; /** * Reason for the refund */ reason?: ('duplicate' | 'fraudulent' | 'requested_by_customer' | 'other') | null; /** * Additional details about the refund */ description?: string | null; /** * Additional refund metadata */ metadata?: | { [k: string]: unknown; } | unknown[] | string | number | boolean | null; /** * Raw data from the payment provider */ providerData?: | { [k: string]: unknown; } | unknown[] | string | number | boolean | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "users". */ export interface User { id: number; 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` "payload-locked-documents". */ export interface PayloadLockedDocument { id: number; document?: | ({ relationTo: 'posts'; value: number | Post; } | null) | ({ relationTo: 'media'; value: number | Media; } | null) | ({ relationTo: 'payments'; value: number | Payment; } | null) | ({ relationTo: 'invoices'; value: number | Invoice; } | null) | ({ relationTo: 'refunds'; value: number | Refund; } | null) | ({ relationTo: 'users'; value: number | User; } | 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` "posts_select". */ export interface PostsSelect { updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "media_select". */ export interface MediaSelect { 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` "payments_select". */ export interface PaymentsSelect { provider?: T; providerId?: T; status?: T; amount?: T; currency?: T; description?: T; invoice?: T; metadata?: T; providerData?: T; refunds?: T; version?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "invoices_select". */ export interface InvoicesSelect { number?: T; customerInfo?: | T | { name?: T; email?: T; phone?: T; company?: T; taxId?: T; }; billingAddress?: | T | { line1?: T; line2?: T; city?: T; state?: T; postalCode?: T; country?: T; }; status?: T; currency?: T; items?: | T | { description?: T; quantity?: T; unitAmount?: T; totalAmount?: T; id?: T; }; subtotal?: T; taxAmount?: T; amount?: T; dueDate?: T; paidAt?: T; payment?: T; notes?: T; metadata?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "refunds_select". */ export interface RefundsSelect { providerId?: T; payment?: T; status?: T; amount?: T; currency?: T; reason?: T; description?: T; metadata?: T; providerData?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "users_select". */ export interface UsersSelect { 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` "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` "auth". */ export interface Auth { [k: string]: unknown; } declare module 'payload' { export interface GeneratedTypes extends Config {} }