import * as z from "zod";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type GetWebhookRequest = {
    id: string;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
};
/**
 * The webhooks events
 */
export declare const GetWebhookEvents: {
    readonly BudgetReached: "budget.reached";
    readonly BudgetReset: "budget.reset";
    readonly DomainCreated: "domain.created";
    readonly DeploymentCreated: "deployment.created";
    readonly DeploymentError: "deployment.error";
    readonly DeploymentCanceled: "deployment.canceled";
    readonly DeploymentSucceeded: "deployment.succeeded";
    readonly DeploymentReady: "deployment.ready";
    readonly DeploymentCheckRerequested: "deployment.check-rerequested";
    readonly DeploymentPromoted: "deployment.promoted";
    readonly DeploymentIntegrationActionStart: "deployment.integration.action.start";
    readonly DeploymentIntegrationActionCancel: "deployment.integration.action.cancel";
    readonly DeploymentIntegrationActionCleanup: "deployment.integration.action.cleanup";
    readonly EdgeConfigCreated: "edge-config.created";
    readonly EdgeConfigDeleted: "edge-config.deleted";
    readonly EdgeConfigItemsUpdated: "edge-config.items.updated";
    readonly FirewallAttack: "firewall.attack";
    readonly IntegrationConfigurationPermissionUpgraded: "integration-configuration.permission-upgraded";
    readonly IntegrationConfigurationRemoved: "integration-configuration.removed";
    readonly IntegrationConfigurationScopeChangeConfirmed: "integration-configuration.scope-change-confirmed";
    readonly ProjectCreated: "project.created";
    readonly ProjectRemoved: "project.removed";
    readonly DeploymentChecksCompletedLegacy: "deployment-checks-completed";
    readonly DeploymentReadyLegacy: "deployment-ready";
    readonly DeploymentPreparedLegacy: "deployment-prepared";
    readonly DeploymentErrorLegacy: "deployment-error";
    readonly DeploymentCheckRerequestedLegacy: "deployment-check-rerequested";
    readonly DeploymentCanceledLegacy: "deployment-canceled";
    readonly ProjectCreatedLegacy: "project-created";
    readonly ProjectRemovedLegacy: "project-removed";
    readonly DomainCreatedLegacy: "domain-created";
    readonly DeploymentLegacy: "deployment";
    readonly IntegrationConfigurationPermissionUpdatedLegacy: "integration-configuration-permission-updated";
    readonly IntegrationConfigurationRemovedLegacy: "integration-configuration-removed";
    readonly IntegrationConfigurationScopeChangeConfirmedLegacy: "integration-configuration-scope-change-confirmed";
    readonly MarketplaceInvoiceCreated: "marketplace.invoice.created";
    readonly MarketplaceInvoicePaid: "marketplace.invoice.paid";
    readonly MarketplaceInvoiceNotpaid: "marketplace.invoice.notpaid";
    readonly MarketplaceInvoiceRefunded: "marketplace.invoice.refunded";
    readonly TestWebhook: "observability.anomaly";
    readonly undefined: "test-webhook";
};
/**
 * The webhooks events
 */
export type GetWebhookEvents = ClosedEnum<typeof GetWebhookEvents>;
export type GetWebhookResponseBody = {
    /**
     * The webhooks events
     */
    events: Array<GetWebhookEvents>;
    /**
     * The webhook id
     */
    id: string;
    /**
     * A string with the URL of the webhook
     */
    url: string;
    /**
     * The unique ID of the team the webhook belongs to
     */
    ownerId: string;
    /**
     * A number containing the date when the webhook was created in in milliseconds
     */
    createdAt: number;
    /**
     * A number containing the date when the webhook was updated in in milliseconds
     */
    updatedAt: number;
    /**
     * The ID of the projects the webhook is associated with
     */
    projectIds?: Array<string> | undefined;
};
/** @internal */
export declare const GetWebhookRequest$inboundSchema: z.ZodType<GetWebhookRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type GetWebhookRequest$Outbound = {
    id: string;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const GetWebhookRequest$outboundSchema: z.ZodType<GetWebhookRequest$Outbound, z.ZodTypeDef, GetWebhookRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetWebhookRequest$ {
    /** @deprecated use `GetWebhookRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetWebhookRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetWebhookRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetWebhookRequest$Outbound, z.ZodTypeDef, GetWebhookRequest>;
    /** @deprecated use `GetWebhookRequest$Outbound` instead. */
    type Outbound = GetWebhookRequest$Outbound;
}
export declare function getWebhookRequestToJSON(getWebhookRequest: GetWebhookRequest): string;
export declare function getWebhookRequestFromJSON(jsonString: string): SafeParseResult<GetWebhookRequest, SDKValidationError>;
/** @internal */
export declare const GetWebhookEvents$inboundSchema: z.ZodNativeEnum<typeof GetWebhookEvents>;
/** @internal */
export declare const GetWebhookEvents$outboundSchema: z.ZodNativeEnum<typeof GetWebhookEvents>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetWebhookEvents$ {
    /** @deprecated use `GetWebhookEvents$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly BudgetReached: "budget.reached";
        readonly BudgetReset: "budget.reset";
        readonly DomainCreated: "domain.created";
        readonly DeploymentCreated: "deployment.created";
        readonly DeploymentError: "deployment.error";
        readonly DeploymentCanceled: "deployment.canceled";
        readonly DeploymentSucceeded: "deployment.succeeded";
        readonly DeploymentReady: "deployment.ready";
        readonly DeploymentCheckRerequested: "deployment.check-rerequested";
        readonly DeploymentPromoted: "deployment.promoted";
        readonly DeploymentIntegrationActionStart: "deployment.integration.action.start";
        readonly DeploymentIntegrationActionCancel: "deployment.integration.action.cancel";
        readonly DeploymentIntegrationActionCleanup: "deployment.integration.action.cleanup";
        readonly EdgeConfigCreated: "edge-config.created";
        readonly EdgeConfigDeleted: "edge-config.deleted";
        readonly EdgeConfigItemsUpdated: "edge-config.items.updated";
        readonly FirewallAttack: "firewall.attack";
        readonly IntegrationConfigurationPermissionUpgraded: "integration-configuration.permission-upgraded";
        readonly IntegrationConfigurationRemoved: "integration-configuration.removed";
        readonly IntegrationConfigurationScopeChangeConfirmed: "integration-configuration.scope-change-confirmed";
        readonly ProjectCreated: "project.created";
        readonly ProjectRemoved: "project.removed";
        readonly DeploymentChecksCompletedLegacy: "deployment-checks-completed";
        readonly DeploymentReadyLegacy: "deployment-ready";
        readonly DeploymentPreparedLegacy: "deployment-prepared";
        readonly DeploymentErrorLegacy: "deployment-error";
        readonly DeploymentCheckRerequestedLegacy: "deployment-check-rerequested";
        readonly DeploymentCanceledLegacy: "deployment-canceled";
        readonly ProjectCreatedLegacy: "project-created";
        readonly ProjectRemovedLegacy: "project-removed";
        readonly DomainCreatedLegacy: "domain-created";
        readonly DeploymentLegacy: "deployment";
        readonly IntegrationConfigurationPermissionUpdatedLegacy: "integration-configuration-permission-updated";
        readonly IntegrationConfigurationRemovedLegacy: "integration-configuration-removed";
        readonly IntegrationConfigurationScopeChangeConfirmedLegacy: "integration-configuration-scope-change-confirmed";
        readonly MarketplaceInvoiceCreated: "marketplace.invoice.created";
        readonly MarketplaceInvoicePaid: "marketplace.invoice.paid";
        readonly MarketplaceInvoiceNotpaid: "marketplace.invoice.notpaid";
        readonly MarketplaceInvoiceRefunded: "marketplace.invoice.refunded";
        readonly TestWebhook: "observability.anomaly";
        readonly undefined: "test-webhook";
    }>;
    /** @deprecated use `GetWebhookEvents$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly BudgetReached: "budget.reached";
        readonly BudgetReset: "budget.reset";
        readonly DomainCreated: "domain.created";
        readonly DeploymentCreated: "deployment.created";
        readonly DeploymentError: "deployment.error";
        readonly DeploymentCanceled: "deployment.canceled";
        readonly DeploymentSucceeded: "deployment.succeeded";
        readonly DeploymentReady: "deployment.ready";
        readonly DeploymentCheckRerequested: "deployment.check-rerequested";
        readonly DeploymentPromoted: "deployment.promoted";
        readonly DeploymentIntegrationActionStart: "deployment.integration.action.start";
        readonly DeploymentIntegrationActionCancel: "deployment.integration.action.cancel";
        readonly DeploymentIntegrationActionCleanup: "deployment.integration.action.cleanup";
        readonly EdgeConfigCreated: "edge-config.created";
        readonly EdgeConfigDeleted: "edge-config.deleted";
        readonly EdgeConfigItemsUpdated: "edge-config.items.updated";
        readonly FirewallAttack: "firewall.attack";
        readonly IntegrationConfigurationPermissionUpgraded: "integration-configuration.permission-upgraded";
        readonly IntegrationConfigurationRemoved: "integration-configuration.removed";
        readonly IntegrationConfigurationScopeChangeConfirmed: "integration-configuration.scope-change-confirmed";
        readonly ProjectCreated: "project.created";
        readonly ProjectRemoved: "project.removed";
        readonly DeploymentChecksCompletedLegacy: "deployment-checks-completed";
        readonly DeploymentReadyLegacy: "deployment-ready";
        readonly DeploymentPreparedLegacy: "deployment-prepared";
        readonly DeploymentErrorLegacy: "deployment-error";
        readonly DeploymentCheckRerequestedLegacy: "deployment-check-rerequested";
        readonly DeploymentCanceledLegacy: "deployment-canceled";
        readonly ProjectCreatedLegacy: "project-created";
        readonly ProjectRemovedLegacy: "project-removed";
        readonly DomainCreatedLegacy: "domain-created";
        readonly DeploymentLegacy: "deployment";
        readonly IntegrationConfigurationPermissionUpdatedLegacy: "integration-configuration-permission-updated";
        readonly IntegrationConfigurationRemovedLegacy: "integration-configuration-removed";
        readonly IntegrationConfigurationScopeChangeConfirmedLegacy: "integration-configuration-scope-change-confirmed";
        readonly MarketplaceInvoiceCreated: "marketplace.invoice.created";
        readonly MarketplaceInvoicePaid: "marketplace.invoice.paid";
        readonly MarketplaceInvoiceNotpaid: "marketplace.invoice.notpaid";
        readonly MarketplaceInvoiceRefunded: "marketplace.invoice.refunded";
        readonly TestWebhook: "observability.anomaly";
        readonly undefined: "test-webhook";
    }>;
}
/** @internal */
export declare const GetWebhookResponseBody$inboundSchema: z.ZodType<GetWebhookResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type GetWebhookResponseBody$Outbound = {
    events: Array<string>;
    id: string;
    url: string;
    ownerId: string;
    createdAt: number;
    updatedAt: number;
    projectIds?: Array<string> | undefined;
};
/** @internal */
export declare const GetWebhookResponseBody$outboundSchema: z.ZodType<GetWebhookResponseBody$Outbound, z.ZodTypeDef, GetWebhookResponseBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetWebhookResponseBody$ {
    /** @deprecated use `GetWebhookResponseBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetWebhookResponseBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetWebhookResponseBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetWebhookResponseBody$Outbound, z.ZodTypeDef, GetWebhookResponseBody>;
    /** @deprecated use `GetWebhookResponseBody$Outbound` instead. */
    type Outbound = GetWebhookResponseBody$Outbound;
}
export declare function getWebhookResponseBodyToJSON(getWebhookResponseBody: GetWebhookResponseBody): string;
export declare function getWebhookResponseBodyFromJSON(jsonString: string): SafeParseResult<GetWebhookResponseBody, SDKValidationError>;
//# sourceMappingURL=getwebhookop.d.ts.map