import { ApiClient } from '../../client/index.js';
import { CreateAssetsWebhookParams, CreateWorkflowWebhookParams, WorkflowEvent, EditAssetsWebhookParams, ListAssetsWebhooksParams } from './requests.js';
import { CreateAssetsWebhookResult, GetWorkflowWebhookResult, GetAssetsWebhookResult, ListAssetsWebhooksResult, ListWorkflowWebhooksResult } from './responses.js';

declare class WebhooksApi {
    private _client;
    /**
     * Create an instance of the WebhooksApi class.
     *
     * Create, list, read, ping, edit, and delete Acquia DAM webhook configurations. Create, List, and Delete Workflow Webhooks
     *
     * @param client Provide an instance of ApiClient.
     */
    constructor(client: ApiClient);
    /**
     * Create a new Assets webhook
     * @param params Information about the request
     * @returns Promise containing the new webhook configuration ID
     * @see {@link https://widenv2.docs.apiary.io/#reference/acquia-dam-webhooks/manage-acquia-dam-webhooks/create-webhook}
     */
    createAssetsWebhook(params: CreateAssetsWebhookParams): Promise<CreateAssetsWebhookResult>;
    /**
     * Create a Workflow webhook
     * @param params Information about the request
     * @returns Promise containing information about the created webhook
     * @see {@link https://widenv2.docs.apiary.io/#reference/workflow-webhooks/webhooks/add-new-webhook}
     */
    createWorkflowWebhook(params: CreateWorkflowWebhookParams): Promise<GetWorkflowWebhookResult>;
    /**
     * Delete an Assets webhook
     * @param id Assets Webhook configuration ID
     * @returns Promise containing no information
     */
    deleteAssetsWebhook(id: string): Promise<void>;
    /**
     * Delete a Workflow webhook
     * @param event The event name
     * @returns Promise containing no information
     * @see {@link https://widenv2.docs.apiary.io/#reference/workflow-webhooks/webhooks/delete-webhook}
     */
    deleteWorkflowWebhook(event: WorkflowEvent): Promise<void>;
    /**
     * Edit an Assets webhook configuration
     * @param params Information about the request
     * @returns Promise containing no information
     * @see {@link https://widenv2.docs.apiary.io/#reference/acquia-dam-webhooks/manage-acquia-dam-webhooks/edit-webhook}
     */
    editAssetsWebhook(params: EditAssetsWebhookParams): Promise<void>;
    /**
     * Retrieve information about an Assets webhook
     * @param id Webhook configuration ID
     * @returns Promise containing information about a webhook
     * @see {@link https://widenv2.docs.apiary.io/#reference/acquia-dam-webhooks/manage-acquia-dam-webhooks/get-webhook-by-id}
     */
    getAssetsWebhook(id: string): Promise<GetAssetsWebhookResult>;
    /**
     * Retrieve a list of Assets webhooks
     * @param params Information about the request
     * @returns Promise containing a list of Assets webhooks
     * @see {@link https://widenv2.docs.apiary.io/#reference/acquia-dam-webhooks/manage-acquia-dam-webhooks/list-webhooks}
     */
    listAssetsWebhooks(params?: ListAssetsWebhooksParams): Promise<ListAssetsWebhooksResult>;
    /**
     * Retrieve a list of active Workflow webhooks
     * @returns Promise containing a list of Workflow webhooks
     * @see {@link https://widenv2.docs.apiary.io/#reference/workflow-webhooks/webhooks/list-all-webhooks}
     */
    listWorkflowWebhooks(): Promise<ListWorkflowWebhooksResult>;
    /**
     * Ping an Assets Webhook
     * @param id Assets Webhook Configuration ID
     * @returns Promise containing no information
     * @see {@link https://widenv2.docs.apiary.io/#reference/acquia-dam-webhooks/manage-acquia-dam-webhooks/ping-webhook-by-id}
     */
    pingAssetsWebhook(id: string): Promise<void>;
}

export { WebhooksApi };
