import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Status } from "./status.js";
import { UnifiedApiId } from "./unifiedapiid.js";
import { WebhookEventType } from "./webhookeventtype.js";
/**
 * Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update.
 */
export declare const DisabledReason: {
    readonly None: "none";
    readonly RetryLimit: "retry_limit";
    readonly UsageLimit: "usage_limit";
    readonly DeliveryUrlValidationFailed: "delivery_url_validation_failed";
};
/**
 * Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update.
 */
export type DisabledReason = OpenEnum<typeof DisabledReason>;
export type Webhook = {
    id?: string | undefined;
    /**
     * A description of the object.
     */
    description?: string | null | undefined;
    /**
     * Name of Apideck Unified API
     */
    unifiedApi: UnifiedApiId;
    /**
     * The status of the webhook.
     */
    status: Status;
    /**
     * Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update.
     */
    disabledReason?: DisabledReason | undefined;
    /**
     * The delivery url of the webhook endpoint.
     */
    deliveryUrl: string;
    /**
     * The Unify Base URL events from connectors will be sent to after service id is appended.
     */
    executeBaseUrl: string;
    /**
     * The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.
     */
    events: Array<WebhookEventType>;
    /**
     * The date and time when the object was last updated.
     */
    updatedAt?: Date | null | undefined;
    /**
     * The date and time when the object was created.
     */
    createdAt?: Date | null | undefined;
};
/** @internal */
export declare const DisabledReason$inboundSchema: z.ZodType<DisabledReason, z.ZodTypeDef, unknown>;
/** @internal */
export declare const Webhook$inboundSchema: z.ZodType<Webhook, z.ZodTypeDef, unknown>;
export declare function webhookFromJSON(jsonString: string): SafeParseResult<Webhook, SDKValidationError>;
//# sourceMappingURL=webhook.d.ts.map