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

export interface paths {
    "/api": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Root */
        get: operations["root_api_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/card-designs/{design_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete Design
         * @description Delete a draft. A published design must be unpublished first.
         *
         *     Its files are left on disk. They are content-addressed, so another version of the same
         *     card may well reference the identical bytes — deleting them here would blank a live card
         *     to reclaim a few kilobytes.
         */
        delete: operations["delete_design_api_admin_card_designs__design_id__delete"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/card-designs/{design_id}/publish": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Publish Design
         * @description Make this design the one guests see, demoting whatever was published before.
         *
         *     The demotion happens first and is flushed before the promotion, because the partial
         *     unique index does not care that both writes are in one transaction — two published rows
         *     at any point inside it is a violation.
         */
        post: operations["publish_design_api_admin_card_designs__design_id__publish_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/card-designs/{design_id}/unpublish": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Unpublish Design
         * @description Take the card off the invitation. The page falls back to its plain composition.
         */
        post: operations["unpublish_design_api_admin_card_designs__design_id__unpublish_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** List Events */
        get: operations["list_events_api_admin_events_get"];
        put?: never;
        /**
         * Create Event
         * @description Create an event of one of the three ceremony types.
         *
         *     There is deliberately no uniqueness on (wedding, type): a family may hold two receptions,
         *     and the constraint that used to forbid that encoded "one wedding, exactly three
         *     ceremonies" into the schema (design D12).
         */
        post: operations["create_event_api_admin_events_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete Event
         * @description Delete an event and everything under it.
         *
         *     Guests belong to one event (design D11), so this cascades to their records, invitations
         *     and RSVPs. The confirmation the interface shows is built from `delete-impact` above; the
         *     counts are captured into the audit log here because after the cascade nothing can be
         *     counted retrospectively.
         */
        delete: operations["delete_event_api_admin_events__event_id__delete"];
        options?: never;
        head?: never;
        /** Update Event */
        patch: operations["update_event_api_admin_events__event_id__patch"];
        trace?: never;
    };
    "/api/admin/events/{event_id}/broadcast-date-change": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Broadcast Date Change */
        post: operations["broadcast_date_change_api_admin_events__event_id__broadcast_date_change_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/card-designs": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List Designs
         * @description Newest first, so the current version and the one to roll back to are both at hand.
         */
        get: operations["list_designs_api_admin_events__event_id__card_designs_get"];
        put?: never;
        /**
         * Upload Design
         * @description Upload a card and its companion files together, as one draft.
         *
         *     Together and not separately: the document's references can only be rewritten against
         *     files that are already stored, so an upload split in two would need an intermediate
         *     state where a design exists with references pointing nowhere.
         */
        post: operations["upload_design_api_admin_events__event_id__card_designs_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/delete-impact": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Event Delete Impact
         * @description Counts for the confirmation dialog. Read-only and safe to call repeatedly.
         */
        get: operations["event_delete_impact_api_admin_events__event_id__delete_impact_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/guest-ids": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List Event Guest Ids
         * @description Resolve "select all N matching" into the ids it means (D2).
         *
         *     The selection is resolved here, once, rather than re-evaluated at send time: a
         *     filter-shaped selection can grow between the count on the button and the messages going
         *     out — an import finishing in another tab is enough — and the set the admin approved is
         *     the set that must be sent.
         */
        get: operations["list_event_guest_ids_api_admin_events__event_id__guest_ids_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/guests": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List Event Guests
         * @description One event's guest list — the list a host actually works from (spec event-management).
         */
        get: operations["list_event_guests_api_admin_events__event_id__guests_get"];
        put?: never;
        /**
         * Create Guest
         * @description Add a guest to one event's list, with their invitation and token.
         */
        post: operations["create_guest_api_admin_events__event_id__guests_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/guests/import": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Commit Import
         * @description Import a sheet into one event's guest list.
         *
         *     The sheet's `events` column is ignored: the destination comes from the route, so a file
         *     cannot quietly place guests on a list the admin was not looking at (design D11).
         */
        post: operations["commit_import_api_admin_events__event_id__guests_import_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/guests/import/preview": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Preview Import
         * @description Dry run: first 10 rows plus every error, before anything is written (FR-4.8).
         *
         *     Duplicates are judged against this event's list only (design D11) — a phone already on
         *     another event's list is a different guest record, not a re-import.
         */
        post: operations["preview_import_api_admin_events__event_id__guests_import_preview_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/invitations/compose": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Compose Bulk Invitation
         * @description The two messages this selection would receive, ready to be edited (D1, D10, D11).
         */
        post: operations["compose_bulk_invitation_api_admin_events__event_id__invitations_compose_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/invitations/send-batch": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Send Invitation Batch
         * @description Record one batched send and start it, without waiting for it to finish (D6).
         */
        post: operations["send_invitation_batch_api_admin_events__event_id__invitations_send_batch_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/events/{event_id}/transfer": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Transfer Event Ownership
         * @description Move an event, and everything under it, to another active account.
         *
         *     Guests, invitations, the card design and the message history all follow without being
         *     touched, because every one of them is reachable through the event rather than owned
         *     separately (design D1).
         */
        post: operations["transfer_event_ownership_api_admin_events__event_id__transfer_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/export": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Export Csv
         * @description Filtered, streamed, BOM-prefixed export. Always audited (FR-5.7).
         */
        get: operations["export_csv_api_admin_export_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/guests": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List Guests
         * @description Search across every event's list (FR-4.5).
         *
         *     Kept alongside the event-scoped route because export and global search still need it.
         *     The count it reports is of guest *records*: a person attending three ceremonies appears
         *     three times, which is what event-scoped guests mean (design D11).
         */
        get: operations["list_guests_api_admin_guests_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/guests/{guest_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Read Guest */
        get: operations["read_guest_api_admin_guests__guest_id__get"];
        put?: never;
        post?: never;
        /**
         * Delete Guest
         * @description Soft delete — Super Admin only. History survives for the audit trail.
         */
        delete: operations["delete_guest_api_admin_guests__guest_id__delete"];
        options?: never;
        head?: never;
        /** Update Guest */
        patch: operations["update_guest_api_admin_guests__guest_id__patch"];
        trace?: never;
    };
    "/api/admin/invitations/{invitation_id}/link-copied": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Record Link Copy
         * @description Record that an admin took this invitation's link to deliver by hand (design D8).
         *
         *     Writes an audit entry and nothing else: no `message_job`, no `message_log`, no
         *     `last_sent_at`. Copying a link is not a send, and recording it as one would put a
         *     delivery in the host's history that never happened.
         *
         *     Worth being honest about what this does and does not prove. The compose panel already
         *     received `invite_url` when it loaded, so the token was disclosed before this fires —
         *     what is recorded here is the admin's *intent* to hand the link out, not the moment of
         *     disclosure. That is still the useful question afterwards ("who gave this out, and
         *     when"), but it is not a containment boundary and should not be mistaken for one.
         *
         *     Deliberately permitted for a suppressed guest. Suppression governs what the system
         *     sends, not what a host may hand someone in person; the panel states the suppression
         *     above the control so the admin decides knowingly.
         */
        post: operations["record_link_copy_api_admin_invitations__invitation_id__link_copied_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/invitations/{invitation_id}/message": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Compose Invitation Message
         * @description The message this guest would receive, ready to be edited (D4).
         */
        get: operations["compose_invitation_message_api_admin_invitations__invitation_id__message_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/invitations/{invitation_id}/rsvp": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Override Rsvp */
        post: operations["override_rsvp_api_admin_invitations__invitation_id__rsvp_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/invitations/{invitation_id}/send": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Send Invitation Email
         * @description Send one hand-edited invitation email, and report what actually happened.
         */
        post: operations["send_invitation_email_api_admin_invitations__invitation_id__send_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/messages": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Read Message Log */
        get: operations["read_message_log_api_admin_messages_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/messages/retry": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Retry Failed
         * @description Re-queue failed jobs (FR-4.10). Attempts reset so the backoff starts fresh.
         */
        post: operations["retry_failed_api_admin_messages_retry_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/qr/guest/{invitation_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Guest Qr
         * @description Per-guest QR encoding /i/{token} for personalised printed cards (FR-7.3).
         *
         *     SVG is the print format. PNG exists because the common case is not printing at all —
         *     it is an admin sending one guest their code over WhatsApp, and WhatsApp will not
         *     render an SVG.
         */
        get: operations["guest_qr_api_admin_qr_guest__invitation_id__get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/qr/{event_slug}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Event Qr
         * @description Per-event open-link QR at error-correction H (spec qr-codes FR-7.1, FR-7.2).
         *
         *     Level H tolerates roughly 30% damage, which is what lets a decorative print — or a
         *     card that has been in someone's pocket — still scan.
         */
        get: operations["event_qr_api_admin_qr__event_slug__get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/reminders/preview": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Preview Reminder Waves
         * @description Upcoming waves with exact dates and recipient counts (FR-4.11), without queueing.
         */
        get: operations["preview_reminder_waves_api_admin_reminders_preview_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/reminders/{schedule_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        /** Update Reminder Schedule */
        patch: operations["update_reminder_schedule_api_admin_reminders__schedule_id__patch"];
        trace?: never;
    };
    "/api/admin/send": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Queue Send */
        post: operations["queue_send_api_admin_send_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/send-batches/{batch_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Read Batch Progress
         * @description How a batch is getting on (D7).
         *
         *     Polled while anything is still waiting. An unknown batch reads as an empty, finished one
         *     rather than a 404: a batch is a set of jobs, not a row, so "no jobs" is a truthful answer
         *     and the composer has nothing useful to do with an error here.
         *
         *     A batch id comes from the browser, so one host could poll another's — and `problems`
         *     carries guest *names*. Scoped for that reason: a batch with no jobs the caller may see
         *     reads exactly like a batch id that was never used, which is the same answer this endpoint
         *     already gives for one that does not exist.
         */
        get: operations["read_batch_progress_api_admin_send_batches__batch_id__get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/send/preview": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Preview Send
         * @description Counts and a rendered sample, before anything is queued (FR-4.9).
         */
        post: operations["preview_send_api_admin_send_preview_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/stats": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Read Dashboard Stats */
        get: operations["read_dashboard_stats_api_admin_stats_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/stats/trend": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Read Response Trend
         * @description Accepts per day (FR-4.4), for the response trend chart.
         */
        get: operations["read_response_trend_api_admin_stats_trend_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/users": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** List Admin Users */
        get: operations["list_admin_users_api_admin_users_get"];
        put?: never;
        /** Create Admin User */
        post: operations["create_admin_user_api_admin_users_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/users/{admin_id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /**
         * Delete Admin User
         * @description Remove an account outright. Refused while it still owns anything.
         *
         *     The FK is `ON DELETE RESTRICT`, so the database would refuse this anyway — but it would
         *     refuse with an integrity error, and the super admin deserves to be told how many events
         *     they need to transfer first.
         */
        delete: operations["delete_admin_user_api_admin_users__admin_id__delete"];
        options?: never;
        head?: never;
        /** Update Admin User */
        patch: operations["update_admin_user_api_admin_users__admin_id__patch"];
        trace?: never;
    };
    "/api/admin/users/{admin_id}/activate": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Activate Admin User
         * @description Approve a pending account, choosing its role in the same action.
         */
        post: operations["activate_admin_user_api_admin_users__admin_id__activate_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/users/{admin_id}/reject": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Reject Admin User
         * @description Turn a pending account away.
         *
         *     Withdrawn rather than deleted, deliberately. A deleted row would be recreated as a fresh
         *     pending account by the next sign-in from that address, and the super admin who already
         *     said no would have to say it again every time.
         */
        post: operations["reject_admin_user_api_admin_users__admin_id__reject_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/users/{admin_id}/temporary-password": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Issue Temporary Password
         * @description Issue a fresh temporary password. The only recovery path for a password account.
         *
         *     There is no self-service forgotten-password flow: the only outbound mail this system has
         *     is guest-facing, with suppression lists and quiet hours, and routing admin reset links
         *     through it would put them behind a guest's unsubscribe state (design D14).
         *
         *     The value is returned here and nowhere else, ever.
         */
        post: operations["issue_temporary_password_api_admin_users__admin_id__temporary_password_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/users/{admin_id}/withdraw": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Withdraw Admin User
         * @description End an active account's access, immediately — not at their next sign-in.
         */
        post: operations["withdraw_admin_user_api_admin_users__admin_id__withdraw_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/admin/wedding": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Read Wedding */
        get: operations["read_wedding_api_admin_wedding_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        /** Update Wedding Settings */
        patch: operations["update_wedding_settings_api_admin_wedding_patch"];
        trace?: never;
    };
    "/api/admin/wedding/invitation-messages": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /**
         * Write Invitation Messages
         * @description Replace the customer-editable greeting sentences.
         *
         *     Wedding-wide, so Super Admin only: this is the fallback every event inherits when it has
         *     no wording of its own. A Host has `PUT /admin/events/{id}` for their own greetings, which
         *     is the surface they actually want (task 8.7).
         *
         *     Validation happens here rather than in the Pydantic model so the 422 carries the message
         *     the host needs — which field, how long it actually is, and why the limit exists.
         */
        put: operations["write_invitation_messages_api_admin_wedding_invitation_messages_put"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/auth/dev": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Sign In Dev
         * @description Sign in without Google and without a password, for local development only.
         *
         *     Two independent conditions must both hold — the flag and a non-production
         *     environment — and `assert_production_ready` refuses to boot prod with the flag set. The
         *     email must still be on the roster and active, so this weakens authentication, not
         *     authorization. It provisions nothing, and it does not lift the temporary-password
         *     confinement: `get_unconfined_admin` reads that from the row, not from how you arrived.
         */
        post: operations["sign_in_dev_api_auth_dev_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/auth/google": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Sign In With Google */
        post: operations["sign_in_with_google_api_auth_google_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/auth/me": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Read Current Session */
        get: operations["read_current_session_api_auth_me_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/auth/password": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Sign In With Password
         * @description Username and password against an account a super admin created (design D15, D16).
         *
         *     Every failure below answers with the same 401 and the same message. An unknown username,
         *     a Google account's address, a wrong password and a locked account are four different
         *     situations and exactly one response, because the difference between them is what an
         *     attacker working through a list is trying to measure.
         */
        post: operations["sign_in_with_password_api_auth_password_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/auth/password/change": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Change Own Password
         * @description Change your own password. Never anyone else's — that is the roster's job, and it
         *     produces a temporary password rather than a chosen one (spec admin-auth).
         */
        post: operations["change_own_password_api_auth_password_change_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/auth/signout": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Sign Out */
        post: operations["sign_out_api_auth_signout_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/{slug}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Read Open Event
         * @description Open/QR route. Public and identical for every visitor, so it may be cached.
         *
         *     Carries no personal data — a walk-in is unknown until they register.
         */
        get: operations["read_open_event_api_events__slug__get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/{slug}/rsvp": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Open Link Rsvp
         * @description Walk-in registration from a printed QR or shared link (FR-2.10, FR-2.11).
         *
         *     Turnstile applies to this route only — the tokenized flow stays frictionless.
         */
        post: operations["open_link_rsvp_api_events__slug__rsvp_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/health": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Health */
        get: operations["health_api_health_get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/ics/{token}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Download Ics */
        get: operations["download_ics_api_ics__token__get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/invitations/by-code/{short_code}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Read Invitation By Short Code
         * @description Printed-card fallback: 'Or visit domain.com/rsvp and enter code A7K2M9'
         *     (spec qr-codes FR-7.5).
         *
         *     Someone typing a code off a printed card is a guest by definition, so `preview` is
         *     carried through only to keep the two routes one behaviour rather than two.
         */
        get: operations["read_invitation_by_short_code_api_invitations_by_code__short_code__get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/invitations/by-token/{token}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Read Invitation By Token
         * @description Personalised invitation. Records the open, then returns the page payload.
         *
         *     `preview=1` returns the identical payload without recording the open (design D9). It is
         *     for the case where the fetch is a link-preview crawler rather than a guest: an admin
         *     pasting an invitation into WhatsApp would otherwise have the platform's crawler mark
         *     that guest's invitation opened before the guest had seen it.
         *
         *     Only the recording is skipped. Nothing about what is returned changes, so this cannot
         *     become a way to read an invitation that the normal route would refuse.
         */
        get: operations["read_invitation_by_token_api_invitations_by_token__token__get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/rsvp/{token}/accept": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Accept Invitation */
        post: operations["accept_invitation_api_rsvp__token__accept_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/rsvp/{token}/cancel": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Cancel Invitation
         * @description POST-only, and the body must carry `confirm: true`.
         *
         *     There is no GET counterpart by design: link scanners must not be able to cancel.
         */
        post: operations["cancel_invitation_api_rsvp__token__cancel_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/rsvp/{token}/decline": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Decline Invitation */
        post: operations["decline_invitation_api_rsvp__token__decline_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/rsvp/{token}/reaccept": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Reaccept Invitation
         * @description 'Changed your mind?' after a cancellation or decline (FR-3.6).
         */
        post: operations["reaccept_invitation_api_rsvp__token__reaccept_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/unsubscribe/{token}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Read Unsubscribe
         * @description Read-only preview. Unlike the invitation route this does not mark the invitation
         *     opened — following an unsubscribe link is not engagement with the invitation.
         */
        get: operations["read_unsubscribe_api_unsubscribe__token__get"];
        put?: never;
        /**
         * Unsubscribe
         * @description Suppress further messages for this event only.
         *
         *     The invitation link keeps working (spec messaging FR-6.11): opting out of reminders is
         *     not the same as withdrawing from the wedding, and a guest who later wants to change
         *     their RSVP must still be able to.
         */
        post: operations["unsubscribe_api_unsubscribe__token__post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/webhooks/email": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Email Webhook
         * @description Delivery and bounce receipts (FR-6.11).
         *
         *     The signature is verified before the body is parsed. An unsigned webhook could mark
         *     real sends delivered, or flag a good address as hard-bounced and silence that guest for
         *     the rest of the wedding.
         */
        post: operations["email_webhook_api_webhooks_email_post"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        /**
         * AdminEventRead
         * @description Named distinctly from the public `EventRead` on purpose.
         *
         *     Two Pydantic models sharing a class name make FastAPI fully-qualify *both* in the
         *     OpenAPI document — `app__schemas__invitation__EventRead` — which silently renames the
         *     generated TypeScript type the public invitation pages were already built against.
         */
        AdminEventRead: {
            /** Capacity */
            capacity: number | null;
            /** Dress Code */
            dress_code: string | null;
            /** Ends At */
            ends_at: string | null;
            /** Host Name 1 */
            host_name_1: string;
            /** Host Name 2 */
            host_name_2: string | null;
            /** Host Phone */
            host_phone: string;
            /**
             * Id
             * Format: uuid
             */
            id: string;
            /** Invitation Messages */
            invitation_messages: {
                [key: string]: {
                    [key: string]: string;
                };
            };
            /** Is Published */
            is_published: boolean;
            /** Map Url */
            map_url: string | null;
            /** Notes */
            notes: string | null;
            /** Rsvp Deadline */
            rsvp_deadline: string | null;
            /** Slug */
            slug: string;
            /**
             * Starts At
             * Format: date-time
             */
            starts_at: string;
            /** Theme Key */
            theme_key: string;
            /** Title Bn */
            title_bn: string;
            /** Title En */
            title_en: string;
            type: components["schemas"]["EventType"];
            /** Venue Address */
            venue_address: string;
            /** Venue Name */
            venue_name: string;
        };
        /**
         * AdminPreviewRead
         * @description The link preview as this one guest will see it, for the compose panel (design D5).
         *
         *     A separate model from the guest routes' `LinkPreviewRead` rather than that one with a
         *     name bolted on. `LinkPreviewRead` exists to be guest-free — it is what ends up in meta
         *     tags a crawler caches — and a nullable `guest_name` on it would be one careless
         *     assignment away from putting a guest's name there. Two types make the mistake
         *     unrepresentable instead of merely discouraged (design D3).
         */
        AdminPreviewRead: {
            /** Description */
            description: string;
            /** Guest Name */
            guest_name: string;
            /** Has Image */
            has_image: boolean;
            /** Image Url */
            image_url: string | null;
            /** Title */
            title: string;
        };
        /**
         * AdminRole
         * @description Two roles (add-admin-access-control design D5).
         *
         *     `co_host` and `viewer` are gone. A Host does everything an event owner needs, but only
         *     inside the events they own — the second half of that sentence is `services/scope.py`,
         *     not this enum. Role says *what kind of thing*; scope says *to which records*.
         * @enum {string}
         */
        AdminRole: "super_admin" | "host";
        /**
         * AdminStatus
         * @description Three states, because "cannot sign in" has two very different meanings (design D4).
         *
         *     PENDING is only ever reached by a first Google sign-in: the account exists, nobody has
         *     approved it, and it appears in the roster's approval queue. WITHDRAWN is a decision
         *     somebody made. Telling them apart is the whole reason this replaced `is_active` rather
         *     than sitting beside it — a boolean plus a flag can disagree, and then every reader has to
         *     pick a winner.
         * @enum {string}
         */
        AdminStatus: "pending" | "active" | "withdrawn";
        /** AdminUserCreate */
        AdminUserCreate: {
            /** @default google */
            auth_method: components["schemas"]["AuthMethod"];
            /**
             * Email
             * Format: email
             */
            email: string;
            /** Name */
            name?: string | null;
            /** @default host */
            role: components["schemas"]["AdminRole"];
            /** Temporary Password */
            temporary_password?: string | null;
            /** Username */
            username?: string | null;
        };
        /**
         * AdminUserRead
         * @description What the roster screen shows. Deliberately has nowhere to put a credential.
         */
        AdminUserRead: {
            auth_method: components["schemas"]["AuthMethod"];
            /** Email */
            email: string;
            /** First Seen At */
            first_seen_at: string | null;
            /**
             * Id
             * Format: uuid
             */
            id: string;
            /** Last Login At */
            last_login_at: string | null;
            /** Locked */
            locked: boolean;
            /** Name */
            name: string | null;
            /** Owned Event Count */
            owned_event_count: number;
            role: components["schemas"]["AdminRole"];
            status: components["schemas"]["AdminStatus"];
            /** Temporary Password Outstanding */
            temporary_password_outstanding: boolean;
            /** Username */
            username: string | null;
        };
        /**
         * AdminUserUpdate
         * @description `auth_method` is absent on purpose: kind is fixed at creation (design D16).
         */
        AdminUserUpdate: {
            /** Email */
            email?: string | null;
            /** Name */
            name?: string | null;
            role?: components["schemas"]["AdminRole"] | null;
            /** Username */
            username?: string | null;
        };
        /** AggregateStats */
        AggregateStats: {
            /** Guest Records */
            guest_records: number;
            /** Overall Response Rate */
            overall_response_rate: number;
            /** Total Headcount */
            total_headcount: number;
        };
        /**
         * AuthMethod
         * @description How one account proves who it is — fixed at creation, never edited (design D16).
         *
         *     An account reachable by both a password and Google is only ever as strong as its
         *     password, however well the Google account is protected. Converting between kinds has the
         *     same problem in one step, and is exactly what an attacker holding a super-admin session
         *     would reach for. Moving someone between kinds is create-new-and-withdraw-old.
         * @enum {string}
         */
        AuthMethod: "google" | "password";
        /** BatchProblemRead */
        BatchProblemRead: {
            /** Guest Name */
            guest_name: string;
            /** Reason */
            reason: string;
            /** Status */
            status: string;
        };
        /** BatchProgressRead */
        BatchProgressRead: {
            /**
             * Batch Id
             * Format: uuid
             */
            batch_id: string;
            /** Dry Run */
            dry_run: boolean;
            /** Failed */
            failed: number;
            /** Finished */
            finished: boolean;
            /** Problems */
            problems: components["schemas"]["BatchProblemRead"][];
            /** Problems Capped */
            problems_capped: boolean;
            /** Sent */
            sent: number;
            /** Skipped */
            skipped: number;
            /** Total */
            total: number;
            /** Waiting */
            waiting: number;
        };
        /** Body_activate_admin_user_api_admin_users__admin_id__activate_post */
        Body_activate_admin_user_api_admin_users__admin_id__activate_post: {
            /** @default host */
            role: components["schemas"]["AdminRole"];
        };
        /** Body_commit_import_api_admin_events__event_id__guests_import_post */
        Body_commit_import_api_admin_events__event_id__guests_import_post: {
            /** File */
            file: string;
        };
        /** Body_preview_import_api_admin_events__event_id__guests_import_preview_post */
        Body_preview_import_api_admin_events__event_id__guests_import_preview_post: {
            /** File */
            file: string;
        };
        /** Body_upload_design_api_admin_events__event_id__card_designs_post */
        Body_upload_design_api_admin_events__event_id__card_designs_post: {
            /**
             * Alt Bn
             * @default
             */
            alt_bn: string;
            /**
             * Alt En
             * @default
             */
            alt_en: string;
            /**
             * Assets
             * @description Every file the card references
             */
            assets?: string[] | null;
            /**
             * Document
             * @description The card's HTML file
             */
            document: string;
            /**
             * Og Image
             * @description 1200x630 PNG or JPEG shown when a link to this event is shared
             */
            og_image?: string | null;
        };
        /** BroadcastResult */
        BroadcastResult: {
            /** Queued */
            queued: number;
            /** Skipped No Email */
            skipped_no_email: number;
        };
        /** BulkComposeRead */
        BulkComposeRead: {
            /** Deliverable */
            deliverable: number;
            /** Event Published */
            event_published: boolean;
            /** Event Title */
            event_title: string;
            /** Exclusions */
            exclusions: components["schemas"]["ExclusionRead"][];
            /** In Quiet Hours */
            in_quiet_hours: boolean;
            /** Local Time */
            local_time: string;
            /** Missing */
            missing: number;
            /** Panes */
            panes: components["schemas"]["ComposedPaneRead"][];
            /** Placeholders */
            placeholders: string[];
            /** Selected */
            selected: number;
        };
        /** BulkComposeRequest */
        BulkComposeRequest: {
            /** Guest Ids */
            guest_ids: string[];
        };
        /**
         * BulkPaneWrite
         * @description One pane as the admin edited it.
         */
        BulkPaneWrite: {
            /** Body */
            body: string;
            /** Footer */
            footer: string;
            /** Header */
            header: string;
            invitation_type: components["schemas"]["InvitationType"];
            locale: components["schemas"]["Locale"];
            /** Subject */
            subject: string;
        };
        /** CardDesignRead */
        CardDesignRead: {
            /** Assets */
            assets: {
                [key: string]: string;
            };
            /** Config */
            config: {
                [key: string]: unknown;
            };
            /**
             * Created At
             * Format: date-time
             */
            created_at: string;
            /**
             * Event Id
             * Format: uuid
             */
            event_id: string;
            /**
             * Id
             * Format: uuid
             */
            id: string;
            preview_image: components["schemas"]["PreviewImage"] | null;
            /** Published At */
            published_at: string | null;
            renderer: components["schemas"]["CardRenderer"];
            status: components["schemas"]["CardDesignStatus"];
            /** Total Bytes */
            total_bytes: number;
            /** Version */
            version: number;
            /** Warnings */
            warnings?: string[];
        };
        /**
         * CardDesignStatus
         * @enum {string}
         */
        CardDesignStatus: "draft" | "published";
        /**
         * CardRead
         * @description The published card design, resolved for rendering (design D1, D3).
         *
         *     Carries no guest data of any kind. The card is fixed for the event — the guest's name
         *     lives in the header above it and nowhere else (spec invitation-presentation), which is
         *     also what lets the same document be served to every guest.
         */
        CardRead: {
            /**
             * Alt Bn
             * @default
             */
            alt_bn: string;
            /**
             * Alt En
             * @default
             */
            alt_en: string;
            /** Document */
            document?: string | null;
            /** Height */
            height?: number | null;
            /** Image Url */
            image_url?: string | null;
            renderer: components["schemas"]["CardRenderer"];
            /** Width */
            width?: number | null;
        };
        /**
         * CardRenderer
         * @description How a published card design is drawn (design D1).
         *
         *     HTML is the one v1 implements: the design team authors a self-contained HTML/CSS file
         *     and it is rendered inside a shadow root (design D3). IMAGE is implemented as the
         *     fallback for a design delivered as flat artwork.
         *
         *     COMPONENT and LAYERED are declared but have no renderer. They are kept so the enum, the
         *     migration and the stored values never have to change when one arrives — the API rejects
         *     them on write until then, which is a code change rather than a schema one.
         * @enum {string}
         */
        CardRenderer: "html" | "image" | "component" | "layered";
        /**
         * Channel
         * @enum {string}
         */
        Channel: "email" | "whatsapp" | "sms";
        /**
         * ComposedMessageRead
         * @description The default message, in the parts the admin edits.
         */
        ComposedMessageRead: {
            /** Blocked Reason */
            blocked_reason: string | null;
            /** Body */
            body: string;
            /** Event Published */
            event_published: boolean;
            /** Event Title */
            event_title: string;
            /** Footer */
            footer: string;
            /** Header */
            header: string;
            /** In Quiet Hours */
            in_quiet_hours: boolean;
            /** Invite Url */
            invite_url: string;
            /** Last Sent At */
            last_sent_at: string | null;
            /** Local Time */
            local_time: string;
            preview: components["schemas"]["AdminPreviewRead"];
            /** Subject */
            subject: string;
            /** To Email */
            to_email: string | null;
        };
        /**
         * ComposedPaneRead
         * @description One pane: the message for one invitation type in one locale, with placeholders intact.
         */
        ComposedPaneRead: {
            /** Body */
            body: string;
            /** Footer */
            footer: string;
            /** Header */
            header: string;
            invitation_type: components["schemas"]["InvitationType"];
            locale: components["schemas"]["Locale"];
            /** Recipient Count */
            recipient_count: number;
            /** Subject */
            subject: string;
        };
        /** CoupleRead */
        CoupleRead: {
            /** Bride Name */
            bride_name: string;
            default_locale: components["schemas"]["Locale"];
            /** Groom Name */
            groom_name: string;
            /** Host Contact Phone */
            host_contact_phone: string | null;
        };
        /**
         * CurrentRsvpRead
         * @description The guest's existing answer, so a returning visitor sees it instead of a blank
         *     form (FR-1.12).
         */
        CurrentRsvpRead: {
            /** Dietary Notes */
            dietary_notes: string | null;
            /** Message To Couple */
            message_to_couple: string | null;
            /** Party Size */
            party_size: number;
            /**
             * Responded At
             * Format: date-time
             */
            responded_at: string;
            response: components["schemas"]["RsvpResponse"];
        };
        /** DashboardStats */
        DashboardStats: {
            aggregate: components["schemas"]["AggregateStats"];
            /** Events */
            events: components["schemas"]["EventStats"][];
            /**
             * Generated At
             * Format: date-time
             */
            generated_at: string;
            /**
             * Owns Nothing
             * @default false
             */
            owns_nothing: boolean;
        };
        /**
         * DateChangeBroadcast
         * @description Explicit second step. Re-planning is automatic because leaving stale jobs queued is
         *     never right; telling 800 people is a decision, so it stays a separate button.
         */
        DateChangeBroadcast: {
            /**
             * Audience Accepted Only
             * @default true
             */
            audience_accepted_only: boolean;
        };
        /**
         * DevSignInRequest
         * @description Dev bypass only — rejected unless AUTH_DEV_BYPASS is on and ENVIRONMENT is dev.
         */
        DevSignInRequest: {
            /** Email */
            email: string;
        };
        /**
         * EventCreate
         * @description What an admin fills in to bring an event into existence (design D12).
         *
         *     `slug` is absent on purpose: it is derived from the name and allocated by the server, so
         *     a caller cannot mint a public address by hand or collide with an existing one.
         */
        EventCreate: {
            /** Capacity */
            capacity?: number | null;
            /** Dress Code */
            dress_code?: string | null;
            /** Ends At */
            ends_at?: string | null;
            /** Host Name 1 */
            host_name_1: string;
            /** Host Name 2 */
            host_name_2?: string | null;
            /** Host Phone */
            host_phone: string;
            /** Invitation Messages */
            invitation_messages?: {
                [key: string]: {
                    [key: string]: string;
                };
            };
            /**
             * Is Published
             * @default false
             */
            is_published: boolean;
            /** Map Url */
            map_url?: string | null;
            /** Notes */
            notes?: string | null;
            /** Owner Admin Id */
            owner_admin_id?: string | null;
            /** Rsvp Deadline */
            rsvp_deadline?: string | null;
            /**
             * Starts At
             * Format: date-time
             */
            starts_at: string;
            /**
             * Theme Key
             * @default classic
             */
            theme_key: string;
            /** Title Bn */
            title_bn: string;
            /** Title En */
            title_en: string;
            type: components["schemas"]["EventType"];
            /** Venue Address */
            venue_address: string;
            /** Venue Name */
            venue_name: string;
        };
        /**
         * EventDeleteImpact
         * @description What deleting an event destroys, so the confirmation can state it (spec).
         */
        EventDeleteImpact: {
            /** Guests */
            guests: number;
            /** Responses */
            responses: number;
        };
        /**
         * EventRead
         * @description Public event detail. Everything here is printed on a card anyway.
         */
        EventRead: {
            /** Cover Image Url */
            cover_image_url: string | null;
            /** Dress Code */
            dress_code: string | null;
            /** Ends At */
            ends_at: string | null;
            /** Host Name 1 */
            host_name_1: string;
            /** Host Name 2 */
            host_name_2: string | null;
            /** Host Phone */
            host_phone: string;
            /**
             * Id
             * Format: uuid
             */
            id: string;
            /** Map Url */
            map_url: string | null;
            /** Music Url */
            music_url: string | null;
            /** Notes */
            notes: string | null;
            /** Rsvp Deadline */
            rsvp_deadline: string | null;
            /** Slug */
            slug: string;
            /**
             * Starts At
             * Format: date-time
             */
            starts_at: string;
            /** Theme Key */
            theme_key: string;
            /** Title Bn */
            title_bn: string;
            /** Title En */
            title_en: string;
            type: components["schemas"]["EventType"];
            /** Venue Address */
            venue_address: string;
            /** Venue Name */
            venue_name: string;
        };
        /** EventStats */
        EventStats: {
            /** Accepted */
            accepted: number;
            /** Cancelled */
            cancelled: number;
            /** Capacity */
            capacity: number | null;
            /** Days To Event */
            days_to_event: number;
            /** Declined */
            declined: number;
            /** Event Id */
            event_id: string;
            /** Headcount */
            headcount: number;
            /** Invited */
            invited: number;
            /** No Email Count */
            no_email_count: number;
            /** Over Capacity */
            over_capacity: boolean;
            /** Pending */
            pending: number;
            /** Response Rate */
            response_rate: number;
            /** Slug */
            slug: string;
            /**
             * Starts At
             * Format: date-time
             */
            starts_at: string;
            /** Title Bn */
            title_bn: string;
            /** Title En */
            title_en: string;
            /** Type */
            type: string;
        };
        /**
         * EventType
         * @enum {string}
         */
        EventType: "mehedi" | "marriage" | "walima";
        /**
         * EventUpdate
         * @description Every field optional — a PATCH that only moves the date must not blank the venue.
         *
         *     `slug` is not updatable: it is the address on already-printed QR cards (design D12).
         *
         *     `owner_admin_id` is absent for the same kind of reason, and it is load-bearing: editing an
         *     event must never reassign it, and a Host must never reassign anything. Leaving the field
         *     off the model means no request body can express it — a check that cannot be forgotten,
         *     unlike one written in the handler. Transfer lives on its own Super-Admin-only endpoint.
         */
        EventUpdate: {
            /** Capacity */
            capacity?: number | null;
            /** Dress Code */
            dress_code?: string | null;
            /** Ends At */
            ends_at?: string | null;
            /** Host Name 1 */
            host_name_1?: string | null;
            /** Host Name 2 */
            host_name_2?: string | null;
            /** Host Phone */
            host_phone?: string | null;
            /** Invitation Messages */
            invitation_messages?: {
                [key: string]: {
                    [key: string]: string;
                };
            } | null;
            /** Is Published */
            is_published?: boolean | null;
            /** Map Url */
            map_url?: string | null;
            /** Notes */
            notes?: string | null;
            /** Rsvp Deadline */
            rsvp_deadline?: string | null;
            /** Starts At */
            starts_at?: string | null;
            /** Theme Key */
            theme_key?: string | null;
            /** Title Bn */
            title_bn?: string | null;
            /** Title En */
            title_en?: string | null;
            /** Venue Address */
            venue_address?: string | null;
            /** Venue Name */
            venue_name?: string | null;
        };
        /** EventUpdateResult */
        EventUpdateResult: {
            /**
             * Broadcast Recommended
             * @default false
             */
            broadcast_recommended: boolean;
            /** Date Changed */
            date_changed: boolean;
            event: components["schemas"]["AdminEventRead"];
            /**
             * Reminders Cancelled
             * @default 0
             */
            reminders_cancelled: number;
            /**
             * Reminders Created
             * @default 0
             */
            reminders_created: number;
            /**
             * Reminders Rescheduled
             * @default 0
             */
            reminders_rescheduled: number;
        };
        /**
         * ExclusionRead
         * @description One reason some of the selection will not be emailed, and how many (D10).
         */
        ExclusionRead: {
            /** Code */
            code: string;
            /** Count */
            count: number;
            /** Reason */
            reason: string;
        };
        /** GoogleSignInRequest */
        GoogleSignInRequest: {
            /** Id Token */
            id_token: string;
        };
        /**
         * GreetingRead
         * @description The header sentence, resolved server-side (design D9, task 4.3).
         *
         *     Both locales are returned rather than one, because the guest can toggle language on the
         *     page without a round trip (design D13). Neither is ever empty: resolution falls through
         *     to a built-in default, so the frontend has no empty-greeting branch to get wrong.
         */
        GreetingRead: {
            invitation_type: components["schemas"]["InvitationType"];
            /** Message Bn */
            message_bn: string;
            /** Message En */
            message_en: string;
        };
        /**
         * GuestIdsRead
         * @description Every guest matching a set of filters, for select-all-matching (D2).
         */
        GuestIdsRead: {
            /** Guest Ids */
            guest_ids: string[];
            /** Total */
            total: number;
        };
        /** GuestPage */
        GuestPage: {
            /** Items */
            items: components["schemas"]["GuestRead"][];
            /** Page */
            page: number;
            /** Page Size */
            page_size: number;
            /** Total */
            total: number;
        };
        /**
         * GuestPrefill
         * @description Only what the RSVP form needs to pre-fill (FR-2.5). Never sent on the open route.
         */
        GuestPrefill: {
            /** Email */
            email: string | null;
            /** Full Name */
            full_name: string;
            /** Phone E164 */
            phone_e164: string | null;
            preferred_locale: components["schemas"]["Locale"];
        };
        /** GuestRead */
        GuestRead: {
            /**
             * Created At
             * Format: date-time
             */
            created_at: string;
            /** Do Not Contact */
            do_not_contact: boolean;
            /** Email */
            email: string | null;
            /** Email Invalid */
            email_invalid: boolean;
            /**
             * Event Id
             * Format: uuid
             */
            event_id: string;
            /** Full Name */
            full_name: string;
            /** Group Tag */
            group_tag: string[];
            /**
             * Id
             * Format: uuid
             */
            id: string;
            invitation_type: components["schemas"]["InvitationType"];
            /** Invitations */
            invitations: components["schemas"]["InvitationSummary"][];
            /** Phone E164 */
            phone_e164: string | null;
            preferred_channel: components["schemas"]["PreferredChannel"];
            preferred_locale: components["schemas"]["Locale"];
            side: components["schemas"]["GuestSide"];
            source: components["schemas"]["GuestSource"];
            /** Whatsapp Phone E164 */
            whatsapp_phone_e164: string | null;
        };
        /**
         * GuestSide
         * @enum {string}
         */
        GuestSide: "bride" | "groom" | "common";
        /**
         * GuestSource
         * @enum {string}
         */
        GuestSource: "manual" | "csv_import" | "self_registered";
        /** GuestWrite */
        GuestWrite: {
            /** Email */
            email?: string | null;
            /** Full Name */
            full_name: string;
            /** Group Tag */
            group_tag?: string[];
            /** @default single */
            invitation_type: components["schemas"]["InvitationType"];
            /**
             * Max Guests
             * @default 4
             */
            max_guests: number;
            /** Phone */
            phone?: string | null;
            /** @default auto */
            preferred_channel: components["schemas"]["PreferredChannel"];
            /** @default en */
            preferred_locale: components["schemas"]["Locale"];
            /** @default common */
            side: components["schemas"]["GuestSide"];
            /** Whatsapp Phone */
            whatsapp_phone?: string | null;
        };
        /** HTTPValidationError */
        HTTPValidationError: {
            /** Detail */
            detail?: components["schemas"]["ValidationError"][];
        };
        /** ImportPreview */
        ImportPreview: {
            /** Duplicates */
            duplicates: number;
            /** Errors */
            errors: components["schemas"]["ImportRowReport"][];
            /** Invalid Rows */
            invalid_rows: number;
            /** Preview */
            preview: components["schemas"]["ImportRowReport"][];
            /** Total Rows */
            total_rows: number;
            /** Valid Rows */
            valid_rows: number;
        };
        /** ImportResult */
        ImportResult: {
            /** Errors */
            errors: components["schemas"]["ImportRowReport"][];
            /** Imported */
            imported: number;
            /** Merged */
            merged: number;
            /** Skipped */
            skipped: number;
        };
        /** ImportRowReport */
        ImportRowReport: {
            /** Errors */
            errors: string[];
            /** Full Name */
            full_name: string;
            /** Line Number */
            line_number: number;
            /**
             * Would Merge
             * @default false
             */
            would_merge: boolean;
        };
        /**
         * InvitationMessagesWrite
         * @description The whole map, not a patch of one key.
         *
         *     Sending the map entire means clearing a message is expressible — with a partial update,
         *     an absent key and an intentionally emptied one are the same request.
         */
        InvitationMessagesWrite: {
            /** Messages */
            messages?: {
                [key: string]: {
                    [key: string]: string;
                };
            };
        };
        /**
         * InvitationStatus
         * @enum {string}
         */
        InvitationStatus: "pending" | "opened" | "accepted" | "declined" | "cancelled" | "expired";
        /** InvitationSummary */
        InvitationSummary: {
            /** Event Published */
            event_published: boolean;
            /** Event Title En */
            event_title_en: string;
            event_type: components["schemas"]["EventType"];
            /**
             * Id
             * Format: uuid
             */
            id: string;
            /** Max Guests */
            max_guests: number;
            /** Opened At */
            opened_at: string | null;
            /** Party Size */
            party_size: number | null;
            /** Responded At */
            responded_at: string | null;
            /** Short Code */
            short_code: string;
            status: components["schemas"]["InvitationStatus"];
            /** Token */
            token: string;
        };
        /**
         * InvitationType
         * @description Which greeting a guest is addressed with (spec invitation-presentation).
         *
         *     Copy only. `invitation.max_guests` remains the sole party-size ceiling — a family
         *     invitation with one seat is a contradiction the admin form warns about rather than one
         *     the system silently resolves, because raising a ceiling changes a headcount (design D6).
         * @enum {string}
         */
        InvitationType: "single" | "family";
        /**
         * LinkPreviewRead
         * @description What a link to this invitation says when it is shown somewhere else (design D5).
         *
         *     Guest-free on both routes, deliberately. These fields end up in meta tags that a chat
         *     application fetches and caches, so they must be identical for every guest invited to the
         *     event and derivable from public event information alone (design D3). The guest's name
         *     reaches their email and the admin panel by a different path — never this one.
         */
        LinkPreviewRead: {
            /** Canonical Url */
            canonical_url: string;
            /** Description */
            description: string;
            image: components["schemas"]["PreviewImageRead"] | null;
            /** Site Name */
            site_name: string;
            /** Title */
            title: string;
        };
        /**
         * Locale
         * @enum {string}
         */
        Locale: "bn" | "en";
        /**
         * ManualRsvpRequest
         * @description A phone RSVP recorded on the guest's behalf (FR-4.6).
         */
        ManualRsvpRequest: {
            /** Note */
            note?: string | null;
            /**
             * Party Size
             * @default 1
             */
            party_size: number;
            /**
             * Response
             * @enum {string}
             */
            response: "accepted" | "declined";
        };
        /**
         * MessageJobStatus
         * @enum {string}
         */
        MessageJobStatus: "queued" | "sending" | "sent" | "delivered" | "read" | "failed" | "skipped";
        /** MessageLogEntry */
        MessageLogEntry: {
            /** Attempts */
            attempts: number;
            channel: components["schemas"]["Channel"];
            /** Error Code */
            error_code: string | null;
            /** Error Message */
            error_message: string | null;
            /**
             * Id
             * Format: uuid
             */
            id: string;
            /**
             * Invitation Id
             * Format: uuid
             */
            invitation_id: string;
            /** Provider Message Id */
            provider_message_id: string | null;
            /**
             * Scheduled For
             * Format: date-time
             */
            scheduled_for: string;
            /** Sent At */
            sent_at: string | null;
            /** Skip Reason */
            skip_reason: string | null;
            status: components["schemas"]["MessageJobStatus"];
        };
        /** MessageLogPage */
        MessageLogPage: {
            /** Counts By Status */
            counts_by_status: {
                [key: string]: number;
            };
            /** Items */
            items: components["schemas"]["MessageLogEntry"][];
            /** Total */
            total: number;
        };
        /**
         * OpenEventRead
         * @description Payload for `/e/{slug}` — no personal data, cacheable, identical for everyone.
         */
        OpenEventRead: {
            card: components["schemas"]["CardRead"] | null;
            couple: components["schemas"]["CoupleRead"];
            event: components["schemas"]["EventRead"];
            greeting: components["schemas"]["GreetingRead"];
            preview: components["schemas"]["LinkPreviewRead"];
            /** Rsvp Open */
            rsvp_open: boolean;
            /** Selectable Events */
            selectable_events: components["schemas"]["EventRead"][];
        };
        /**
         * OpenRsvpConfirmation
         * @description Open-link submissions can create several invitations at once.
         */
        OpenRsvpConfirmation: {
            /** Confirmations */
            confirmations: components["schemas"]["RsvpConfirmation"][];
            /**
             * Guest Id
             * Format: uuid
             */
            guest_id: string;
            /** Merged Into Existing Guest */
            merged_into_existing_guest: boolean;
        };
        /**
         * OpenRsvpRequest
         * @description Accept from the open/QR link, where the guest is unknown (FR-2.10).
         *
         *     Phone is required here: it is the only reliable key for merging this submission into an
         *     existing guest instead of creating a duplicate.
         */
        OpenRsvpRequest: {
            /** Adults */
            adults?: number | null;
            /** Children */
            children?: number | null;
            /** Dietary Notes */
            dietary_notes?: string | null;
            /** Email */
            email?: string | null;
            /** Event Types */
            event_types: components["schemas"]["EventType"][];
            /** Message To Couple */
            message_to_couple?: string | null;
            /** Name */
            name: string;
            /**
             * Party Size
             * @default 1
             */
            party_size: number;
            /** Phone */
            phone: string;
            /** Turnstile Token */
            turnstile_token?: string | null;
        };
        /** OwnershipTransfer */
        OwnershipTransfer: {
            /**
             * New Owner Id
             * Format: uuid
             */
            new_owner_id: string;
        };
        /** PasswordChangeRequest */
        PasswordChangeRequest: {
            /** Current Password */
            current_password: string;
            /** New Password */
            new_password: string;
        };
        /** PasswordSignInRequest */
        PasswordSignInRequest: {
            /** Password */
            password: string;
            /** Username */
            username: string;
        };
        /**
         * PreferredChannel
         * @enum {string}
         */
        PreferredChannel: "whatsapp" | "sms" | "email" | "auto";
        /**
         * PreviewImage
         * @description The picture a link to this event unfurls with (design D2, spec link-preview).
         *
         *     Stored in a design's `config` rather than in its `assets` on purpose. `assets` is keyed
         *     by uploaded filename and is the rewrite table `card_html.sanitise` consults, so anything
         *     in it is by construction something the card document may point at. A preview image is
         *     not — it is never referenced by the card, and putting it there would let a companion
         *     file named `og.png` claim the role by accident.
         */
        PreviewImage: {
            /** Byte Size */
            byte_size: number;
            /** Content Type */
            content_type: string;
            /** Height */
            height: number;
            /** Url */
            url: string;
            /** Width */
            width: number;
        };
        /**
         * PreviewImageRead
         * @description Absolute URL and the dimensions the meta tags declare.
         */
        PreviewImageRead: {
            /** Height */
            height: number;
            /** Url */
            url: string;
            /** Width */
            width: number;
        };
        /**
         * ReminderAudience
         * @enum {string}
         */
        ReminderAudience: "accepted" | "pending" | "all";
        /** ReminderScheduleWrite */
        ReminderScheduleWrite: {
            /** @default accepted */
            audience: components["schemas"]["ReminderAudience"];
            /**
             * Is Enabled
             * @default true
             */
            is_enabled: boolean;
            /** Offset Days */
            offset_days: number;
            /**
             * Send At Local Time
             * @default 10:00
             */
            send_at_local_time: string;
        };
        /** RetryResult */
        RetryResult: {
            /** Retried */
            retried: number;
        };
        /**
         * RsvpAcceptRequest
         * @description Accept from a tokenized invitation (FR-2.2).
         */
        RsvpAcceptRequest: {
            /** Adults */
            adults?: number | null;
            /** Children */
            children?: number | null;
            /** Dietary Notes */
            dietary_notes?: string | null;
            /** Email */
            email?: string | null;
            /** Message To Couple */
            message_to_couple?: string | null;
            /** Name */
            name: string;
            /**
             * Party Size
             * @default 1
             */
            party_size: number;
            /** Phone */
            phone?: string | null;
        };
        /**
         * RsvpCancelRequest
         * @description Cancellation always requires an explicit confirmation flag, so a link-preview
         *     crawler cannot produce a valid body by accident (FR-3.2, FR-3.3).
         */
        RsvpCancelRequest: {
            /** Confirm */
            confirm: boolean;
            /** Reason */
            reason?: string | null;
        };
        /**
         * RsvpConfirmation
         * @description What the success screen renders (FR-2.7).
         */
        RsvpConfirmation: {
            /** Calendar Url */
            calendar_url: string;
            /** Cancel Url */
            cancel_url: string;
            /** Confirmation Email Queued */
            confirmation_email_queued: boolean;
            /** Event Title Bn */
            event_title_bn: string;
            /** Event Title En */
            event_title_en: string;
            /**
             * Invitation Id
             * Format: uuid
             */
            invitation_id: string;
            /** Party Size */
            party_size: number | null;
            response: components["schemas"]["RsvpResponse"] | null;
            /**
             * Starts At
             * Format: date-time
             */
            starts_at: string;
            status: components["schemas"]["InvitationStatus"];
            /** Venue Name */
            venue_name: string;
        };
        /**
         * RsvpDeclineRequest
         * @description Declining needs no form (FR-2.6).
         */
        RsvpDeclineRequest: {
            /** Reason */
            reason?: string | null;
        };
        /**
         * RsvpResponse
         * @enum {string}
         */
        RsvpResponse: "accepted" | "declined" | "cancelled";
        /** SendBatchRequest */
        SendBatchRequest: {
            /**
             * Batch Id
             * Format: uuid
             */
            batch_id: string;
            /**
             * Confirmed Quiet Hours
             * @default false
             */
            confirmed_quiet_hours: boolean;
            /** Guest Ids */
            guest_ids: string[];
            /** Panes */
            panes: components["schemas"]["BulkPaneWrite"][];
        };
        /** SendBatchResult */
        SendBatchResult: {
            /** Already Recorded */
            already_recorded: boolean;
            /**
             * Batch Id
             * Format: uuid
             */
            batch_id: string;
            /** Dry Run */
            dry_run: boolean;
            /** Exclusions */
            exclusions: components["schemas"]["ExclusionRead"][];
            /** Missing */
            missing: number;
            /** Queued */
            queued: number;
        };
        /** SendInvitationRequest */
        SendInvitationRequest: {
            /** Body */
            body: string;
            /**
             * Confirmed Quiet Hours
             * @default false
             */
            confirmed_quiet_hours: boolean;
            /** Footer */
            footer: string;
            /** Header */
            header: string;
            /** Subject */
            subject: string;
        };
        /** SendInvitationResult */
        SendInvitationResult: {
            /** Dry Run */
            dry_run: boolean;
            /** Error Message */
            error_message: string | null;
            /**
             * Job Id
             * Format: uuid
             */
            job_id: string;
            /** Sent At */
            sent_at: string | null;
            /** Skip Reason */
            skip_reason: string | null;
            /** Status */
            status: string;
        };
        /** SendPreview */
        SendPreview: {
            /** Deliverable */
            deliverable: number;
            /** Missing Placeholders */
            missing_placeholders: string[];
            /** No Email */
            no_email: number;
            /** Opted Out */
            opted_out: number;
            /** Sample Body */
            sample_body: string | null;
            /** Sample Subject */
            sample_subject: string | null;
            /** Total Matched */
            total_matched: number;
        };
        /** SendPreviewRequest */
        SendPreviewRequest: {
            /** @default all */
            audience: components["schemas"]["ReminderAudience"];
            event: components["schemas"]["EventType"];
            /** @default invite */
            purpose: components["schemas"]["TemplatePurpose"];
            /** Tag */
            tag?: string | null;
        };
        /** SendRequest */
        SendRequest: {
            /** @default all */
            audience: components["schemas"]["ReminderAudience"];
            event: components["schemas"]["EventType"];
            /** @default invite */
            purpose: components["schemas"]["TemplatePurpose"];
            /** Scheduled For */
            scheduled_for?: string | null;
            /** Tag */
            tag?: string | null;
        };
        /** SendResult */
        SendResult: {
            /** Already Queued */
            already_queued: number;
            /** Queued */
            queued: number;
            /** Skipped No Email */
            skipped_no_email: number;
        };
        /**
         * SessionRead
         * @description The signed-in admin's own account. Also serves the profile screen (task 7.1).
         *
         *     One payload rather than two, because a second endpoint returning the same five fields
         *     about the same person is a second thing to keep in step.
         */
        SessionRead: {
            auth_method: components["schemas"]["AuthMethod"];
            /** Email */
            email: string;
            /** Must Change Password */
            must_change_password: boolean;
            /** Name */
            name: string | null;
            /** Permissions */
            permissions: string[];
            role: components["schemas"]["AdminRole"];
            /** Username */
            username: string | null;
        };
        /**
         * TemplatePurpose
         * @enum {string}
         */
        TemplatePurpose: "invite" | "reminder_15" | "reminder_7" | "reminder_2" | "thank_you" | "cancel_confirm" | "custom";
        /**
         * TemporaryPasswordRead
         * @description The one response in this system that carries a password. Shown once, never stored.
         */
        TemporaryPasswordRead: {
            /**
             * Expires At
             * Format: date-time
             */
            expires_at: string;
            /** Password */
            password: string;
        };
        /**
         * TokenInvitationRead
         * @description Payload for `/i/{token}`.
         */
        TokenInvitationRead: {
            /** Can Cancel */
            can_cancel: boolean;
            card: components["schemas"]["CardRead"] | null;
            couple: components["schemas"]["CoupleRead"];
            current_rsvp: components["schemas"]["CurrentRsvpRead"] | null;
            event: components["schemas"]["EventRead"];
            greeting: components["schemas"]["GreetingRead"];
            guest: components["schemas"]["GuestPrefill"] | null;
            /**
             * Invitation Id
             * Format: uuid
             */
            invitation_id: string;
            /** Max Guests */
            max_guests: number;
            preview: components["schemas"]["LinkPreviewRead"];
            /** Rsvp Open */
            rsvp_open: boolean;
            /** Short Code */
            short_code: string;
            status: components["schemas"]["InvitationStatus"];
        };
        /** TrendPoint */
        TrendPoint: {
            /** Accepts */
            accepts: number;
            /** Day */
            day: string;
        };
        /**
         * UnsubscribeRead
         * @description What the confirmation page needs in order to state what it is about to do.
         *
         *     The event titles are the point of this payload — a page that says "stop receiving
         *     emails" without naming which list is exactly the misleading copy the spec forbids.
         */
        UnsubscribeRead: {
            /** Already Unsubscribed */
            already_unsubscribed: boolean;
            /** Event Title Bn */
            event_title_bn: string;
            /** Event Title En */
            event_title_en: string;
            /** Guest Name */
            guest_name: string;
        };
        /**
         * UnsubscribeRequest
         * @description Explicit confirmation, so a prefetch or scanner cannot carry the intent.
         */
        UnsubscribeRequest: {
            /**
             * Confirm
             * @default false
             */
            confirm: boolean;
        };
        /** ValidationError */
        ValidationError: {
            /** Context */
            ctx?: Record<string, never>;
            /** Input */
            input?: unknown;
            /** Location */
            loc: (string | number)[];
            /** Message */
            msg: string;
            /** Error Type */
            type: string;
        };
        /** WavePreview */
        WavePreview: {
            /** Event Slug */
            event_slug: string;
            /** No Email */
            no_email: number;
            /** Offset Days */
            offset_days: number;
            /** Recipients */
            recipients: number;
            /**
             * Send At
             * Format: date-time
             */
            send_at: string;
            /** Skipped Past */
            skipped_past: boolean;
        };
        /** WeddingRead */
        WeddingRead: {
            /** Bride Name */
            bride_name: string;
            /**
             * Created At
             * Format: date-time
             */
            created_at: string;
            default_locale: components["schemas"]["Locale"];
            /** Groom Name */
            groom_name: string;
            /** Host Contact Phone */
            host_contact_phone: string | null;
            /** Host Email */
            host_email: string | null;
            /**
             * Id
             * Format: uuid
             */
            id: string;
            /** Invitation Messages */
            invitation_messages: {
                [key: string]: {
                    [key: string]: string;
                };
            };
            /** Slug */
            slug: string;
            /** Timezone */
            timezone: string;
        };
        /**
         * WeddingSettingsWrite
         * @description The settings a host may change from the admin. Currently just the reply address.
         *
         *     `EmailStr` rather than a loose string: this value goes into a `Reply-To` header, and a
         *     malformed one is rejected by the provider at send time — which would surface as a failed
         *     invitation hours later instead of as a validation error while they were typing it.
         */
        WeddingSettingsWrite: {
            /** Host Email */
            host_email?: string | null;
        };
    };
    responses: never;
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    root_api_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        [key: string]: string;
                    };
                };
            };
        };
    };
    delete_design_api_admin_card_designs__design_id__delete: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                design_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    publish_design_api_admin_card_designs__design_id__publish_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                design_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CardDesignRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    unpublish_design_api_admin_card_designs__design_id__unpublish_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                design_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CardDesignRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    list_events_api_admin_events_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminEventRead"][];
                };
            };
        };
    };
    create_event_api_admin_events_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["EventCreate"];
            };
        };
        responses: {
            /** @description Successful Response */
            201: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminEventRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    delete_event_api_admin_events__event_id__delete: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    update_event_api_admin_events__event_id__patch: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["EventUpdate"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["EventUpdateResult"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    broadcast_date_change_api_admin_events__event_id__broadcast_date_change_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["DateChangeBroadcast"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BroadcastResult"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    list_designs_api_admin_events__event_id__card_designs_get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CardDesignRead"][];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    upload_design_api_admin_events__event_id__card_designs_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "multipart/form-data": components["schemas"]["Body_upload_design_api_admin_events__event_id__card_designs_post"];
            };
        };
        responses: {
            /** @description Successful Response */
            201: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CardDesignRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    event_delete_impact_api_admin_events__event_id__delete_impact_get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["EventDeleteImpact"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    list_event_guest_ids_api_admin_events__event_id__guest_ids_get: {
        parameters: {
            query?: {
                search?: string | null;
                invitation_status?: components["schemas"]["InvitationStatus"] | null;
                side?: components["schemas"]["GuestSide"] | null;
                tag?: string | null;
            };
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["GuestIdsRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    list_event_guests_api_admin_events__event_id__guests_get: {
        parameters: {
            query?: {
                search?: string | null;
                invitation_status?: components["schemas"]["InvitationStatus"] | null;
                side?: components["schemas"]["GuestSide"] | null;
                tag?: string | null;
                page?: number;
                page_size?: number;
            };
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["GuestPage"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    create_guest_api_admin_events__event_id__guests_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["GuestWrite"];
            };
        };
        responses: {
            /** @description Successful Response */
            201: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["GuestRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    commit_import_api_admin_events__event_id__guests_import_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "multipart/form-data": components["schemas"]["Body_commit_import_api_admin_events__event_id__guests_import_post"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ImportResult"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    preview_import_api_admin_events__event_id__guests_import_preview_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "multipart/form-data": components["schemas"]["Body_preview_import_api_admin_events__event_id__guests_import_preview_post"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ImportPreview"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    compose_bulk_invitation_api_admin_events__event_id__invitations_compose_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["BulkComposeRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BulkComposeRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    send_invitation_batch_api_admin_events__event_id__invitations_send_batch_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["SendBatchRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SendBatchResult"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    transfer_event_ownership_api_admin_events__event_id__transfer_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                event_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["OwnershipTransfer"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminUserRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    export_csv_api_admin_export_get: {
        parameters: {
            query?: {
                event_id?: string | null;
                invitation_status?: components["schemas"]["InvitationStatus"] | null;
                preset?: string | null;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": unknown;
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    list_guests_api_admin_guests_get: {
        parameters: {
            query?: {
                search?: string | null;
                event_id?: string | null;
                invitation_status?: components["schemas"]["InvitationStatus"] | null;
                side?: components["schemas"]["GuestSide"] | null;
                tag?: string | null;
                page?: number;
                page_size?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["GuestPage"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_guest_api_admin_guests__guest_id__get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                guest_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["GuestRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    delete_guest_api_admin_guests__guest_id__delete: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                guest_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    update_guest_api_admin_guests__guest_id__patch: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                guest_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["GuestWrite"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["GuestRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    record_link_copy_api_admin_invitations__invitation_id__link_copied_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                invitation_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    compose_invitation_message_api_admin_invitations__invitation_id__message_get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                invitation_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ComposedMessageRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    override_rsvp_api_admin_invitations__invitation_id__rsvp_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                invitation_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["ManualRsvpRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["InvitationSummary"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    send_invitation_email_api_admin_invitations__invitation_id__send_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                invitation_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["SendInvitationRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SendInvitationResult"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_message_log_api_admin_messages_get: {
        parameters: {
            query?: {
                job_status?: components["schemas"]["MessageJobStatus"] | null;
                page?: number;
                page_size?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["MessageLogPage"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    retry_failed_api_admin_messages_retry_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["RetryResult"];
                };
            };
        };
    };
    guest_qr_api_admin_qr_guest__invitation_id__get: {
        parameters: {
            query?: {
                format?: string;
            };
            header?: never;
            path: {
                invitation_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": unknown;
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    event_qr_api_admin_qr__event_slug__get: {
        parameters: {
            query?: {
                format?: string;
            };
            header?: never;
            path: {
                event_slug: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": unknown;
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    preview_reminder_waves_api_admin_reminders_preview_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WavePreview"][];
                };
            };
        };
    };
    update_reminder_schedule_api_admin_reminders__schedule_id__patch: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                schedule_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["ReminderScheduleWrite"];
            };
        };
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    queue_send_api_admin_send_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["SendRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SendResult"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_batch_progress_api_admin_send_batches__batch_id__get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                batch_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BatchProgressRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    preview_send_api_admin_send_preview_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["SendPreviewRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SendPreview"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_dashboard_stats_api_admin_stats_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["DashboardStats"];
                };
            };
        };
    };
    read_response_trend_api_admin_stats_trend_get: {
        parameters: {
            query?: {
                days?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["TrendPoint"][];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    list_admin_users_api_admin_users_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminUserRead"][];
                };
            };
        };
    };
    create_admin_user_api_admin_users_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["AdminUserCreate"];
            };
        };
        responses: {
            /** @description Successful Response */
            201: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminUserRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    delete_admin_user_api_admin_users__admin_id__delete: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                admin_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    update_admin_user_api_admin_users__admin_id__patch: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                admin_id: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["AdminUserUpdate"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminUserRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    activate_admin_user_api_admin_users__admin_id__activate_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                admin_id: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": components["schemas"]["Body_activate_admin_user_api_admin_users__admin_id__activate_post"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminUserRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    reject_admin_user_api_admin_users__admin_id__reject_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                admin_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminUserRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    issue_temporary_password_api_admin_users__admin_id__temporary_password_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                admin_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["TemporaryPasswordRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    withdraw_admin_user_api_admin_users__admin_id__withdraw_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                admin_id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AdminUserRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_wedding_api_admin_wedding_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WeddingRead"];
                };
            };
        };
    };
    update_wedding_settings_api_admin_wedding_patch: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["WeddingSettingsWrite"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WeddingRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    write_invitation_messages_api_admin_wedding_invitation_messages_put: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["InvitationMessagesWrite"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["WeddingRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    sign_in_dev_api_auth_dev_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["DevSignInRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SessionRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    sign_in_with_google_api_auth_google_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["GoogleSignInRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SessionRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_current_session_api_auth_me_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SessionRead"];
                };
            };
        };
    };
    sign_in_with_password_api_auth_password_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["PasswordSignInRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SessionRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    change_own_password_api_auth_password_change_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["PasswordChangeRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SessionRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    sign_out_api_auth_signout_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    read_open_event_api_events__slug__get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                slug: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["OpenEventRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    open_link_rsvp_api_events__slug__rsvp_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                slug: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["OpenRsvpRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["OpenRsvpConfirmation"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    health_api_health_get: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        [key: string]: unknown;
                    };
                };
            };
        };
    };
    download_ics_api_ics__token__get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": unknown;
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_invitation_by_short_code_api_invitations_by_code__short_code__get: {
        parameters: {
            query?: {
                preview?: boolean;
            };
            header?: never;
            path: {
                short_code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["TokenInvitationRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_invitation_by_token_api_invitations_by_token__token__get: {
        parameters: {
            query?: {
                preview?: boolean;
            };
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["TokenInvitationRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    accept_invitation_api_rsvp__token__accept_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["RsvpAcceptRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["RsvpConfirmation"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    cancel_invitation_api_rsvp__token__cancel_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["RsvpCancelRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["RsvpConfirmation"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    decline_invitation_api_rsvp__token__decline_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["RsvpDeclineRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["RsvpConfirmation"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    reaccept_invitation_api_rsvp__token__reaccept_post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["RsvpAcceptRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["RsvpConfirmation"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    read_unsubscribe_api_unsubscribe__token__get: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["UnsubscribeRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    unsubscribe_api_unsubscribe__token__post: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                token: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["UnsubscribeRequest"];
            };
        };
        responses: {
            /** @description Successful Response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["UnsubscribeRead"];
                };
            };
            /** @description Validation Error */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["HTTPValidationError"];
                };
            };
        };
    };
    email_webhook_api_webhooks_email_post: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful Response */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
}
