/**
 * @example
 *     {
 *         webhookId: 1000000
 *     }
 */
export interface UpdateWebhookRequest {
    /** Id of the webhook */
    webhookId: number;
    /** Add authentication on webhook url */
    auth?: UpdateWebhookRequest.Auth;
    /** To send batched webhooks */
    batched?: boolean;
    /** Description of the webhook */
    description?: string;
    /** Inbound domain of webhook, used in case of event type `inbound` */
    domain?: string;
    /**
     * - Events triggering the webhook. Possible values for
     * **Transactional** type webhook: #### `sent` OR `request`,
     * `delivered`, `hardBounce`, `softBounce`, `blocked`, `spam`,
     * `invalid`, `deferred`, `click`, `opened`, `uniqueOpened` and
     * `unsubscribed` - Possible values for **Marketing** type webhook:
     * #### `spam`, `opened`, `click`, `hardBounce`, `softBounce`,
     * `unsubscribed`, `listAddition` & `delivered` - Possible values
     * for **Inbound** type webhook: #### `inboundEmailProcessed`
     * #### `reply`
     */
    events?: UpdateWebhookRequest.Events.Item[];
    /** Custom headers to be send with webhooks */
    headers?: UpdateWebhookRequest.Headers.Item[];
    /** URL of the webhook */
    url?: string;
}
export declare namespace UpdateWebhookRequest {
    /**
     * Add authentication on webhook url
     */
    interface Auth {
        /** Webhook authentication token */
        token?: string | undefined;
        /** Type of authentication */
        type?: string | undefined;
    }
    type Events = Events.Item[];
    namespace Events {
        const Item: {
            readonly Sent: "sent";
            readonly HardBounce: "hardBounce";
            readonly SoftBounce: "softBounce";
            readonly Blocked: "blocked";
            readonly Spam: "spam";
            readonly Delivered: "delivered";
            readonly Request: "request";
            readonly Click: "click";
            readonly Invalid: "invalid";
            readonly Deferred: "deferred";
            readonly Opened: "opened";
            readonly UniqueOpened: "uniqueOpened";
            readonly Unsubscribed: "unsubscribed";
            readonly ListAddition: "listAddition";
            readonly ContactUpdated: "contactUpdated";
            readonly ContactDeleted: "contactDeleted";
            readonly InboundEmailProcessed: "inboundEmailProcessed";
            readonly Reply: "reply";
        };
        type Item = (typeof Item)[keyof typeof Item];
    }
    type Headers = Headers.Item[];
    namespace Headers {
        interface Item {
            /** Header key name */
            key?: string | undefined;
            /** Header value */
            value?: string | undefined;
        }
    }
}
