/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { Status } from './Status';
import { UnifiedApiId } from './UnifiedApiId';
import { WebhookEventType } from './WebhookEventType';
/**
 *
 * @export
 * @interface Webhook
 */
export interface Webhook {
    /**
     *
     * @type {UnifiedApiId}
     * @memberof Webhook
     */
    unified_api: UnifiedApiId;
    /**
     *
     * @type {Status}
     * @memberof Webhook
     */
    status: Status;
    /**
     * The delivery url of the webhook endpoint.
     * @type {string}
     * @memberof Webhook
     */
    delivery_url: string;
    /**
     * The Unify Base URL events from connectors will be sent to after service id is appended.
     * @type {string}
     * @memberof Webhook
     */
    readonly execute_base_url: string;
    /**
     * The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.
     * @type {Array<WebhookEventType>}
     * @memberof Webhook
     */
    events: Array<WebhookEventType>;
    /**
     *
     * @type {string}
     * @memberof Webhook
     */
    readonly id?: string;
    /**
     * A description of the object.
     * @type {string}
     * @memberof Webhook
     */
    description?: string | null;
    /**
     * Indicates if the webhook has has been disabled as it reached its retry limit or if account is over the usage allocated by it's plan.
     * @type {string}
     * @memberof Webhook
     */
    disabled_reason?: WebhookDisabledReason;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof Webhook
     */
    readonly updated_at?: Date | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof Webhook
     */
    readonly created_at?: Date | null;
}
/**
 * @export
 * @enum {string}
 */
export declare enum WebhookDisabledReason {
    none = "none",
    retry_limit = "retry_limit",
    usage_limit = "usage_limit"
}
export declare function WebhookFromJSON(json: any): Webhook;
export declare function WebhookFromJSONTyped(json: any, ignoreDiscriminator: boolean): Webhook;
export declare function WebhookToJSON(value?: Webhook | null): any;
