/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

export interface paths {
    "/v1/domains": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: never;
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve domains accessible by the API key */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            /**
                             * @description The ID of the domain
                             * @example 1
                             */
                            id: number;
                            /**
                             * @description The name of the domain
                             * @example example.com
                             */
                            name: string;
                            /**
                             * @description The ID of the team
                             * @example 1
                             */
                            teamId: number;
                            /** @enum {string} */
                            status: "NOT_STARTED" | "PENDING" | "SUCCESS" | "FAILED" | "TEMPORARY_FAILURE";
                            /** @default us-east-1 */
                            region: string;
                            /** @default false */
                            clickTracking: boolean;
                            /** @default false */
                            openTracking: boolean;
                            publicKey: string;
                            dkimStatus?: string | null;
                            spfDetails?: string | null;
                            createdAt: string;
                            updatedAt: string;
                            /** @default false */
                            dmarcAdded: boolean;
                            /** @default false */
                            isVerifying: boolean;
                            errorMessage?: string | null;
                            subdomain?: string | null;
                            verificationError?: string | null;
                            lastCheckedTime?: string | null;
                            dnsRecords: {
                                /**
                                 * @description DNS record type
                                 * @example TXT
                                 * @enum {string}
                                 */
                                type: "MX" | "TXT";
                                /**
                                 * @description DNS record name
                                 * @example mail
                                 */
                                name: string;
                                /**
                                 * @description DNS record value
                                 * @example v=spf1 include:amazonses.com ~all
                                 */
                                value: string;
                                /**
                                 * @description DNS record TTL
                                 * @example Auto
                                 */
                                ttl: string;
                                /**
                                 * @description DNS record priority
                                 * @example 10
                                 */
                                priority?: string | null;
                                /** @enum {string} */
                                status: "NOT_STARTED" | "PENDING" | "SUCCESS" | "FAILED" | "TEMPORARY_FAILURE";
                                /** @description Whether the record is recommended */
                                recommended?: boolean;
                            }[];
                        }[];
                    };
                };
            };
        };
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        name: string;
                        region: string;
                    };
                };
            };
            responses: {
                /** @description Create a new domain */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            /**
                             * @description The ID of the domain
                             * @example 1
                             */
                            id: number;
                            /**
                             * @description The name of the domain
                             * @example example.com
                             */
                            name: string;
                            /**
                             * @description The ID of the team
                             * @example 1
                             */
                            teamId: number;
                            /** @enum {string} */
                            status: "NOT_STARTED" | "PENDING" | "SUCCESS" | "FAILED" | "TEMPORARY_FAILURE";
                            /** @default us-east-1 */
                            region: string;
                            /** @default false */
                            clickTracking: boolean;
                            /** @default false */
                            openTracking: boolean;
                            publicKey: string;
                            dkimStatus?: string | null;
                            spfDetails?: string | null;
                            createdAt: string;
                            updatedAt: string;
                            /** @default false */
                            dmarcAdded: boolean;
                            /** @default false */
                            isVerifying: boolean;
                            errorMessage?: string | null;
                            subdomain?: string | null;
                            verificationError?: string | null;
                            lastCheckedTime?: string | null;
                            dnsRecords: {
                                /**
                                 * @description DNS record type
                                 * @example TXT
                                 * @enum {string}
                                 */
                                type: "MX" | "TXT";
                                /**
                                 * @description DNS record name
                                 * @example mail
                                 */
                                name: string;
                                /**
                                 * @description DNS record value
                                 * @example v=spf1 include:amazonses.com ~all
                                 */
                                value: string;
                                /**
                                 * @description DNS record TTL
                                 * @example Auto
                                 */
                                ttl: string;
                                /**
                                 * @description DNS record priority
                                 * @example 10
                                 */
                                priority?: string | null;
                                /** @enum {string} */
                                status: "NOT_STARTED" | "PENDING" | "SUCCESS" | "FAILED" | "TEMPORARY_FAILURE";
                                /** @description Whether the record is recommended */
                                recommended?: boolean;
                            }[];
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/domains/{id}/verify": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    id: number | null;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Verify domain */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            message: string;
                        };
                    };
                };
                /** @description Forbidden - API key doesn't have access to this domain */
                403: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
                /** @description Domain not found */
                404: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
            };
        };
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/domains/{id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    id: number | null;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve the domain */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            /**
                             * @description The ID of the domain
                             * @example 1
                             */
                            id: number;
                            /**
                             * @description The name of the domain
                             * @example example.com
                             */
                            name: string;
                            /**
                             * @description The ID of the team
                             * @example 1
                             */
                            teamId: number;
                            /** @enum {string} */
                            status: "NOT_STARTED" | "PENDING" | "SUCCESS" | "FAILED" | "TEMPORARY_FAILURE";
                            /** @default us-east-1 */
                            region: string;
                            /** @default false */
                            clickTracking: boolean;
                            /** @default false */
                            openTracking: boolean;
                            publicKey: string;
                            dkimStatus?: string | null;
                            spfDetails?: string | null;
                            createdAt: string;
                            updatedAt: string;
                            /** @default false */
                            dmarcAdded: boolean;
                            /** @default false */
                            isVerifying: boolean;
                            errorMessage?: string | null;
                            subdomain?: string | null;
                            verificationError?: string | null;
                            lastCheckedTime?: string | null;
                            dnsRecords: {
                                /**
                                 * @description DNS record type
                                 * @example TXT
                                 * @enum {string}
                                 */
                                type: "MX" | "TXT";
                                /**
                                 * @description DNS record name
                                 * @example mail
                                 */
                                name: string;
                                /**
                                 * @description DNS record value
                                 * @example v=spf1 include:amazonses.com ~all
                                 */
                                value: string;
                                /**
                                 * @description DNS record TTL
                                 * @example Auto
                                 */
                                ttl: string;
                                /**
                                 * @description DNS record priority
                                 * @example 10
                                 */
                                priority?: string | null;
                                /** @enum {string} */
                                status: "NOT_STARTED" | "PENDING" | "SUCCESS" | "FAILED" | "TEMPORARY_FAILURE";
                                /** @description Whether the record is recommended */
                                recommended?: boolean;
                            }[];
                        };
                    };
                };
            };
        };
        put?: never;
        post?: never;
        delete: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    id: number | null;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Domain deleted successfully */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: number;
                            success: boolean;
                            message: string;
                        };
                    };
                };
                /** @description Forbidden - API key doesn't have access */
                403: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
                /** @description Domain not found */
                404: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
            };
        };
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/emails/{emailId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    emailId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve the email */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: string;
                            teamId: number;
                            to: string | string[];
                            replyTo?: string | string[];
                            cc?: string | string[];
                            bcc?: string | string[];
                            from: string;
                            subject: string;
                            html: string | null;
                            text: string | null;
                            createdAt: string;
                            updatedAt: string;
                            emailEvents: {
                                emailId: string;
                                /** @enum {string} */
                                status: "SCHEDULED" | "QUEUED" | "SENT" | "DELIVERY_DELAYED" | "BOUNCED" | "REJECTED" | "RENDERING_FAILURE" | "DELIVERED" | "OPENED" | "CLICKED" | "COMPLAINED" | "FAILED" | "CANCELLED" | "SUPPRESSED";
                                createdAt: string;
                                data?: unknown;
                            }[];
                        };
                    };
                };
            };
        };
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    emailId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        /** Format: date-time */
                        scheduledAt: string;
                    };
                };
            };
            responses: {
                /** @description Retrieve the user */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            emailId?: string;
                        };
                    };
                };
            };
        };
        trace?: never;
    };
    "/v1/emails": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: {
                    page?: string;
                    limit?: string;
                    startDate?: string;
                    endDate?: string;
                    domainId?: string | string[];
                };
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve a list of emails */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            data: {
                                id: string;
                                to: string | string[];
                                replyTo?: string | string[] | unknown;
                                cc?: string | string[] | unknown;
                                bcc?: string | string[] | unknown;
                                from: string;
                                subject: string;
                                html: string | null;
                                text: string | null;
                                createdAt: string;
                                updatedAt: string;
                                /** @enum {string|null} */
                                latestStatus: "SCHEDULED" | "QUEUED" | "SENT" | "DELIVERY_DELAYED" | "BOUNCED" | "REJECTED" | "RENDERING_FAILURE" | "DELIVERED" | "OPENED" | "CLICKED" | "COMPLAINED" | "FAILED" | "CANCELLED" | "SUPPRESSED" | null;
                                /** Format: date-time */
                                scheduledAt: string | null;
                                domainId: number | null;
                            }[];
                            count: number;
                        };
                    };
                };
            };
        };
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: {
                    "Idempotency-Key"?: string;
                };
                path?: never;
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        to: string | string[];
                        from: string;
                        /** @description Optional when templateId is provided */
                        subject?: string;
                        /** @description ID of a template from the dashboard */
                        templateId?: string;
                        variables?: {
                            [key: string]: string;
                        };
                        replyTo?: string | string[];
                        cc?: string | string[];
                        bcc?: string | string[];
                        text?: string | null;
                        html?: string | null;
                        /** @description Custom headers to included with the emails */
                        headers?: {
                            [key: string]: string;
                        };
                        attachments?: {
                            filename: string;
                            content: string;
                        }[];
                        /** Format: date-time */
                        scheduledAt?: string;
                        inReplyToId?: string | null;
                    };
                };
            };
            responses: {
                /** @description Retrieve the user */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            emailId?: string;
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/emails/batch": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: {
                    "Idempotency-Key"?: string;
                };
                path?: never;
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        to: string | string[];
                        from: string;
                        /** @description Optional when templateId is provided */
                        subject?: string;
                        /** @description ID of a template from the dashboard */
                        templateId?: string;
                        variables?: {
                            [key: string]: string;
                        };
                        replyTo?: string | string[];
                        cc?: string | string[];
                        bcc?: string | string[];
                        text?: string | null;
                        html?: string | null;
                        /** @description Custom headers to included with the emails */
                        headers?: {
                            [key: string]: string;
                        };
                        attachments?: {
                            filename: string;
                            content: string;
                        }[];
                        /** Format: date-time */
                        scheduledAt?: string;
                        inReplyToId?: string | null;
                    }[];
                };
            };
            responses: {
                /** @description List of successfully created email IDs */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            data: {
                                emailId: string;
                            }[];
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/emails/{emailId}/cancel": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    emailId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve the user */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            emailId?: string;
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/contactBooks/{contactBookId}/contacts": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: {
                    emails?: string;
                    page?: number;
                    limit?: number;
                    ids?: string;
                };
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve multiple contacts */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: string;
                            firstName?: string | null;
                            lastName?: string | null;
                            email: string;
                            /** @default true */
                            subscribed: boolean;
                            properties: {
                                [key: string]: string;
                            };
                            contactBookId: string;
                            createdAt: string;
                            updatedAt: string;
                        }[];
                    };
                };
            };
        };
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        email: string;
                        firstName?: string;
                        lastName?: string;
                        properties?: {
                            [key: string]: string;
                        };
                        subscribed?: boolean;
                    };
                };
            };
            responses: {
                /** @description Retrieve the user */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            contactId?: string;
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/contactBooks/{contactBookId}/contacts/{contactId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                    contactId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve the contact */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: string;
                            firstName?: string | null;
                            lastName?: string | null;
                            email: string;
                            /** @default true */
                            subscribed: boolean;
                            properties: {
                                [key: string]: string;
                            };
                            contactBookId: string;
                            createdAt: string;
                            updatedAt: string;
                        };
                    };
                };
            };
        };
        put: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        email: string;
                        firstName?: string;
                        lastName?: string;
                        properties?: {
                            [key: string]: string;
                        };
                        subscribed?: boolean;
                    };
                };
            };
            responses: {
                /** @description Contact upserted successfully */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            contactId: string;
                        };
                    };
                };
            };
        };
        post?: never;
        delete: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                    contactId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Contact deleted successfully */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            success: boolean;
                        };
                    };
                };
            };
        };
        options?: never;
        head?: never;
        patch: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                    contactId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        firstName?: string;
                        lastName?: string;
                        properties?: {
                            [key: string]: string;
                        };
                        subscribed?: boolean;
                    };
                };
            };
            responses: {
                /** @description Retrieve the user */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            contactId?: string;
                        };
                    };
                };
            };
        };
        trace?: never;
    };
    "/v1/contactBooks/{contactBookId}/contacts/bulk": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        email: string;
                        firstName?: string;
                        lastName?: string;
                        properties?: {
                            [key: string]: string;
                        };
                        subscribed?: boolean;
                    }[];
                };
            };
            responses: {
                /** @description Bulk add contacts to a contact book */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            message: string;
                            count: number;
                        };
                    };
                };
            };
        };
        delete: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        contactIds: string[];
                    };
                };
            };
            responses: {
                /** @description Bulk delete contacts from a contact book */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            success: boolean;
                            count: number;
                        };
                    };
                };
            };
        };
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/contactBooks": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: never;
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve contact books accessible by the API key */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            /**
                             * @description The ID of the contact book
                             * @example clx1234567890
                             */
                            id: string;
                            /**
                             * @description The name of the contact book
                             * @example Newsletter Subscribers
                             */
                            name: string;
                            /**
                             * @description The ID of the team
                             * @example 1
                             */
                            teamId: number;
                            /**
                             * @description Custom properties for the contact book
                             * @example {
                             *       "customField1": "value1"
                             *     }
                             */
                            properties: {
                                [key: string]: string;
                            };
                            /**
                             * @description Allowed personalization variables for contacts in this book
                             * @example [
                             *       "registrationCode",
                             *       "company"
                             *     ]
                             */
                            variables: string[];
                            /**
                             * @description The emoji associated with the contact book
                             * @example 📙
                             */
                            emoji: string;
                            /**
                             * @description Whether double opt-in is enabled for new contacts
                             * @example true
                             */
                            doubleOptInEnabled?: boolean;
                            /**
                             * @description From address used for double opt-in emails (must use a verified domain)
                             * @example Newsletter <hello@example.com>
                             */
                            doubleOptInFrom?: string | null;
                            /**
                             * @description Subject line used for double opt-in confirmation email
                             * @example Please confirm your subscription
                             */
                            doubleOptInSubject?: string | null;
                            /** @description Email editor JSON content used for double opt-in confirmation */
                            doubleOptInContent?: string | null;
                            /** @description The creation timestamp */
                            createdAt: string;
                            /** @description The last update timestamp */
                            updatedAt: string;
                            _count?: {
                                /** @description The number of contacts in the contact book */
                                contacts: number;
                            };
                        }[];
                    };
                };
            };
        };
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        name: string;
                        emoji?: string;
                        properties?: {
                            [key: string]: string;
                        };
                        doubleOptInEnabled?: boolean;
                        doubleOptInFrom?: string | null;
                        doubleOptInSubject?: string;
                        doubleOptInContent?: string;
                        variables?: string[];
                    };
                };
            };
            responses: {
                /** @description Create a new contact book */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            /**
                             * @description The ID of the contact book
                             * @example clx1234567890
                             */
                            id: string;
                            /**
                             * @description The name of the contact book
                             * @example Newsletter Subscribers
                             */
                            name: string;
                            /**
                             * @description The ID of the team
                             * @example 1
                             */
                            teamId: number;
                            /**
                             * @description Custom properties for the contact book
                             * @example {
                             *       "customField1": "value1"
                             *     }
                             */
                            properties: {
                                [key: string]: string;
                            };
                            /**
                             * @description Allowed personalization variables for contacts in this book
                             * @example [
                             *       "registrationCode",
                             *       "company"
                             *     ]
                             */
                            variables: string[];
                            /**
                             * @description The emoji associated with the contact book
                             * @example 📙
                             */
                            emoji: string;
                            /**
                             * @description Whether double opt-in is enabled for new contacts
                             * @example true
                             */
                            doubleOptInEnabled?: boolean;
                            /**
                             * @description From address used for double opt-in emails (must use a verified domain)
                             * @example Newsletter <hello@example.com>
                             */
                            doubleOptInFrom?: string | null;
                            /**
                             * @description Subject line used for double opt-in confirmation email
                             * @example Please confirm your subscription
                             */
                            doubleOptInSubject?: string | null;
                            /** @description Email editor JSON content used for double opt-in confirmation */
                            doubleOptInContent?: string | null;
                            /** @description The creation timestamp */
                            createdAt: string;
                            /** @description The last update timestamp */
                            updatedAt: string;
                            _count?: {
                                /** @description The number of contacts in the contact book */
                                contacts: number;
                            };
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/contactBooks/{contactBookId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve the contact book */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            /**
                             * @description The ID of the contact book
                             * @example clx1234567890
                             */
                            id: string;
                            /**
                             * @description The name of the contact book
                             * @example Newsletter Subscribers
                             */
                            name: string;
                            /**
                             * @description The ID of the team
                             * @example 1
                             */
                            teamId: number;
                            /**
                             * @description Custom properties for the contact book
                             * @example {
                             *       "customField1": "value1"
                             *     }
                             */
                            properties: {
                                [key: string]: string;
                            };
                            /**
                             * @description Allowed personalization variables for contacts in this book
                             * @example [
                             *       "registrationCode",
                             *       "company"
                             *     ]
                             */
                            variables: string[];
                            /**
                             * @description The emoji associated with the contact book
                             * @example 📙
                             */
                            emoji: string;
                            /**
                             * @description Whether double opt-in is enabled for new contacts
                             * @example true
                             */
                            doubleOptInEnabled?: boolean;
                            /**
                             * @description From address used for double opt-in emails (must use a verified domain)
                             * @example Newsletter <hello@example.com>
                             */
                            doubleOptInFrom?: string | null;
                            /**
                             * @description Subject line used for double opt-in confirmation email
                             * @example Please confirm your subscription
                             */
                            doubleOptInSubject?: string | null;
                            /** @description Email editor JSON content used for double opt-in confirmation */
                            doubleOptInContent?: string | null;
                            /** @description The creation timestamp */
                            createdAt: string;
                            /** @description The last update timestamp */
                            updatedAt: string;
                            _count?: {
                                /** @description The number of contacts in the contact book */
                                contacts: number;
                            };
                        };
                    };
                };
                /** @description Forbidden - API key doesn't have access to this contact book */
                403: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
                /** @description Contact book not found */
                404: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
            };
        };
        put?: never;
        post?: never;
        delete: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Contact book deleted successfully */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: string;
                            success: boolean;
                            message: string;
                        };
                    };
                };
                /** @description Forbidden - API key doesn't have access */
                403: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
                /** @description Contact book not found */
                404: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
            };
        };
        options?: never;
        head?: never;
        patch: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    contactBookId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        name?: string;
                        emoji?: string;
                        properties?: {
                            [key: string]: string;
                        };
                        doubleOptInEnabled?: boolean;
                        doubleOptInFrom?: string | null;
                        doubleOptInSubject?: string;
                        doubleOptInContent?: string;
                        variables?: string[];
                    };
                };
            };
            responses: {
                /** @description Update the contact book */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            /**
                             * @description The ID of the contact book
                             * @example clx1234567890
                             */
                            id: string;
                            /**
                             * @description The name of the contact book
                             * @example Newsletter Subscribers
                             */
                            name: string;
                            /**
                             * @description The ID of the team
                             * @example 1
                             */
                            teamId: number;
                            /**
                             * @description Custom properties for the contact book
                             * @example {
                             *       "customField1": "value1"
                             *     }
                             */
                            properties: {
                                [key: string]: string;
                            };
                            /**
                             * @description Allowed personalization variables for contacts in this book
                             * @example [
                             *       "registrationCode",
                             *       "company"
                             *     ]
                             */
                            variables: string[];
                            /**
                             * @description The emoji associated with the contact book
                             * @example 📙
                             */
                            emoji: string;
                            /**
                             * @description Whether double opt-in is enabled for new contacts
                             * @example true
                             */
                            doubleOptInEnabled?: boolean;
                            /**
                             * @description From address used for double opt-in emails (must use a verified domain)
                             * @example Newsletter <hello@example.com>
                             */
                            doubleOptInFrom?: string | null;
                            /**
                             * @description Subject line used for double opt-in confirmation email
                             * @example Please confirm your subscription
                             */
                            doubleOptInSubject?: string | null;
                            /** @description Email editor JSON content used for double opt-in confirmation */
                            doubleOptInContent?: string | null;
                            /** @description The creation timestamp */
                            createdAt: string;
                            /** @description The last update timestamp */
                            updatedAt: string;
                            _count?: {
                                /** @description The number of contacts in the contact book */
                                contacts: number;
                            };
                        };
                    };
                };
                /** @description Forbidden - API key doesn't have access to this contact book */
                403: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
                /** @description Contact book not found */
                404: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            error: string;
                        };
                    };
                };
            };
        };
        trace?: never;
    };
    "/v1/campaigns": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: {
                    page?: string;
                    status?: "DRAFT" | "SCHEDULED" | "RUNNING" | "PAUSED" | "SENT";
                    search?: string;
                };
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Get list of campaigns */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            campaigns: {
                                id: string;
                                name: string;
                                from: string;
                                subject: string;
                                /** Format: date-time */
                                createdAt: string;
                                /** Format: date-time */
                                updatedAt: string;
                                status: string;
                                /** Format: date-time */
                                scheduledAt: string | null;
                                total: number;
                                sent: number;
                                delivered: number;
                                unsubscribed: number;
                            }[];
                            totalPage: number;
                        };
                    };
                };
            };
        };
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        name: string;
                        from: string;
                        subject: string;
                        previewText?: string;
                        contactBookId: string;
                        content?: string;
                        html?: string;
                        replyTo?: string | string[];
                        cc?: string | string[];
                        bcc?: string | string[];
                        sendNow?: boolean;
                        /** @description Timestamp in ISO 8601 format or natural language (e.g., 'tomorrow 9am', 'next monday 10:30') */
                        scheduledAt?: string;
                        batchSize?: number;
                    };
                };
            };
            responses: {
                /** @description Create a campaign */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: string;
                            name: string;
                            from: string;
                            subject: string;
                            previewText: string | null;
                            contactBookId: string | null;
                            html: string | null;
                            content: string | null;
                            status: string;
                            /** Format: date-time */
                            scheduledAt: string | null;
                            batchSize: number;
                            batchWindowMinutes: number;
                            total: number;
                            sent: number;
                            delivered: number;
                            opened: number;
                            clicked: number;
                            unsubscribed: number;
                            bounced: number;
                            hardBounced: number;
                            complained: number;
                            replyTo: string[];
                            cc: string[];
                            bcc: string[];
                            /** Format: date-time */
                            createdAt: string;
                            /** Format: date-time */
                            updatedAt: string;
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/campaigns/{campaignId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    campaignId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Get campaign details */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: string;
                            name: string;
                            from: string;
                            subject: string;
                            previewText: string | null;
                            contactBookId: string | null;
                            html: string | null;
                            content: string | null;
                            status: string;
                            /** Format: date-time */
                            scheduledAt: string | null;
                            batchSize: number;
                            batchWindowMinutes: number;
                            total: number;
                            sent: number;
                            delivered: number;
                            opened: number;
                            clicked: number;
                            unsubscribed: number;
                            bounced: number;
                            hardBounced: number;
                            complained: number;
                            replyTo: string[];
                            cc: string[];
                            bcc: string[];
                            /** Format: date-time */
                            createdAt: string;
                            /** Format: date-time */
                            updatedAt: string;
                        };
                    };
                };
            };
        };
        put?: never;
        post?: never;
        delete: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    campaignId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Delete campaign */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            id: string;
                            name: string;
                            from: string;
                            subject: string;
                            previewText: string | null;
                            contactBookId: string | null;
                            html: string | null;
                            content: string | null;
                            status: string;
                            /** Format: date-time */
                            scheduledAt: string | null;
                            batchSize: number;
                            batchWindowMinutes: number;
                            total: number;
                            sent: number;
                            delivered: number;
                            opened: number;
                            clicked: number;
                            unsubscribed: number;
                            bounced: number;
                            hardBounced: number;
                            complained: number;
                            replyTo: string[];
                            cc: string[];
                            bcc: string[];
                            /** Format: date-time */
                            createdAt: string;
                            /** Format: date-time */
                            updatedAt: string;
                        };
                    };
                };
            };
        };
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/campaigns/{campaignId}/schedule": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    campaignId: string;
                };
                cookie?: never;
            };
            requestBody: {
                content: {
                    "application/json": {
                        /** @description Timestamp in ISO 8601 format or natural language (e.g., 'tomorrow 9am', 'next monday 10:30') */
                        scheduledAt?: string;
                        batchSize?: number;
                    };
                };
            };
            responses: {
                /** @description Schedule a campaign */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            success: boolean;
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/campaigns/{campaignId}/pause": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    campaignId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Pause a campaign */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            success: boolean;
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/campaigns/{campaignId}/resume": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post: {
            parameters: {
                query?: never;
                header?: never;
                path: {
                    campaignId: string;
                };
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Resume a campaign */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            success: boolean;
                        };
                    };
                };
            };
        };
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/analytics/email-time-series": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: {
                    days?: "7" | "30";
                    domainId?: string;
                };
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve email time series data */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            result: {
                                date: string;
                                sent: number;
                                delivered: number;
                                opened: number;
                                clicked: number;
                                bounced: number;
                                complained: number;
                            }[];
                            totalCounts: {
                                sent: number;
                                delivered: number;
                                opened: number;
                                clicked: number;
                                bounced: number;
                                complained: number;
                            };
                        };
                    };
                };
            };
        };
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/v1/analytics/reputation-metrics": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get: {
            parameters: {
                query?: {
                    domainId?: string;
                };
                header?: never;
                path?: never;
                cookie?: never;
            };
            requestBody?: never;
            responses: {
                /** @description Retrieve reputation metrics data */
                200: {
                    headers: {
                        [name: string]: unknown;
                    };
                    content: {
                        "application/json": {
                            delivered: number;
                            hardBounced: number;
                            complained: number;
                            bounceRate: number;
                            complaintRate: number;
                        };
                    };
                };
            };
        };
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: never;
    responses: never;
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export type operations = Record<string, never>;
