import { WebhookContracts } from '../../contracts/webhook-contracts'; import { SharedModels } from '../shared/shared-models'; export declare namespace WebhookModels { type WebhookWorkflowStepOperation = 'publish' | 'unpublish' | 'archive' | 'restore' | 'upsert'; type WebhookContentTypeActions = 'created' | 'changed' | 'deleted'; type WebhookAssetActions = 'created' | 'changed' | 'metadata_changed' | 'deleted'; type WebhookTaxonomyActions = 'created' | 'metadata_changed' | 'deleted' | 'term_created' | 'term_changed' | 'term_deleted' | 'terms_moved'; type WebhookLanguageActions = 'created' | 'changed' | 'deleted'; type WebhookContentItemActions = 'published' | 'unpublished' | 'created' | 'changed' | 'metadata_changed' | 'deleted' | 'workflow_step_changed'; type WebhookManagementContentChangesOperations = 'archive' | 'create' | 'restore'; type WebhookPreviewContentChangesOperations = 'archive' | 'upsert' | 'restore'; type WebhookDeliveryTriggerSlots = 'published' | 'preview'; type WebhookDeliveryTriggersEvents = 'all' | 'specific'; type WebhookHealthStatus = 'unknown' | 'working' | 'failing' | 'dead'; interface IAddWebhookData { name: string; secret: string; url: string; enabled?: boolean; headers?: IWebhookHeader[]; delivery_triggers: { slot: WebhookDeliveryTriggerSlots; events: WebhookDeliveryTriggersEvents; asset?: WebhookContracts.IWebhookAssetContract; content_type?: WebhookContracts.IWebhookContentTypeContract; taxonomy?: WebhookContracts.IWebhookTaxonomyContract; language?: WebhookContracts.IWebhookLanguageContract; content_item?: WebhookContracts.IWebhookContentItemContract; }; } class WebhookDeliveryTriggersContentType { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; filters?: WebhookContracts.IContentTypeFilters; constructor(data: { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; filters?: WebhookContracts.IContentTypeFilters; }); } class WebhookDeliveryTriggersAsset { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; constructor(data: { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; }); } class WebhookDeliveryTriggersTaxonomy { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; filters?: WebhookContracts.ITaxonomyFilters; constructor(data: { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; filters?: WebhookContracts.ITaxonomyFilters; }); } class WebhookDeliveryTriggersLanguage { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; filters?: WebhookContracts.ILanguageFilters; constructor(data: { enabled: boolean; actions?: WebhookContracts.WebhookAction[]; filters?: WebhookContracts.ILanguageFilters; }); } class WebhookDeliveryTriggersContentItem { enabled: boolean; actions?: (WebhookContracts.WebhookAction & { transition_to?: WebhookContracts.ContentItemTransitionTo[]; })[]; filters?: WebhookContracts.IContentItemFilters; constructor(data: { enabled: boolean; actions?: (WebhookContracts.WebhookAction & { transition_to?: WebhookContracts.ContentItemTransitionTo[]; })[]; filters?: WebhookContracts.IContentItemFilters; }); } class WebhookTransitionsTo { id: string; constructor(data: { id: string; }); } interface IWebhookHeader { key: string; value: string; } class Webhook implements SharedModels.IBaseModel { id: string; name: string; secret: string; url: string; enabled?: boolean; lastModified?: Date; healthStatus?: WebhookHealthStatus; headers?: IWebhookHeader[]; deliveryTriggers: { slot: WebhookDeliveryTriggerSlots; events: WebhookDeliveryTriggersEvents; asset?: WebhookContracts.IWebhookAssetContract; contentType?: WebhookContracts.IWebhookContentTypeContract; taxonomy?: WebhookContracts.IWebhookTaxonomyContract; language?: WebhookContracts.IWebhookLanguageContract; contentItem?: WebhookContracts.IWebhookContentItemContract; }; _raw: WebhookContracts.IWebhookContract; constructor(data: { id: string; name: string; secret: string; url: string; enabled?: boolean; lastModified?: Date; healthStatus?: WebhookHealthStatus; headers?: IWebhookHeader[]; deliveryTriggers: { slot: WebhookDeliveryTriggerSlots; events: WebhookDeliveryTriggersEvents; asset?: WebhookContracts.IWebhookAssetContract; contentType?: WebhookContracts.IWebhookContentTypeContract; taxonomy?: WebhookContracts.IWebhookTaxonomyContract; language?: WebhookContracts.IWebhookLanguageContract; contentItem?: WebhookContracts.IWebhookContentItemContract; }; _raw: WebhookContracts.IWebhookContract; }); } }