import Service from "../../service";
import Client from "../../client";
import { CreateCompanyWebhookRequest, GenerateHmacKeyResponse, ListWebhooksResponse, TestCompanyWebhookRequest, TestWebhookResponse, UpdateCompanyWebhookRequest, Webhook } from "../../typings/management/models";
import { IRequest } from "../../typings/requestOptions";
export declare class WebhooksCompanyLevelApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Generate an HMAC key
    * @param companyId {@link string } The unique identifier of the company account.
    * @param webhookId {@link string } Unique identifier of the webhook configuration.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link GenerateHmacKeyResponse }
    */
    generateHmacKey(companyId: string, webhookId: string, requestOptions?: IRequest.Options): Promise<GenerateHmacKeyResponse>;
    /**
    * @summary Get a webhook
    * @param companyId {@link string } Unique identifier of the [company account](https://docs.adyen.com/account/account-structure#company-account).
    * @param webhookId {@link string } Unique identifier of the webhook configuration.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Webhook }
    */
    getWebhook(companyId: string, webhookId: string, requestOptions?: IRequest.Options): Promise<Webhook>;
    /**
    * @summary List all webhooks
    * @param companyId {@link string } Unique identifier of the [company account](https://docs.adyen.com/account/account-structure#company-account).
    * @param requestOptions {@link IRequest.Options }
    * @param pageNumber {@link number } The number of the page to fetch.
    * @param pageSize {@link number } The number of items to have on a page, maximum 100. The default is 10 items on a page.
    * @return {@link ListWebhooksResponse }
    */
    listAllWebhooks(companyId: string, pageNumber?: number, pageSize?: number, requestOptions?: IRequest.Options): Promise<ListWebhooksResponse>;
    /**
    * @summary Remove a webhook
    * @param companyId {@link string } The unique identifier of the company account.
    * @param webhookId {@link string } Unique identifier of the webhook configuration.
    * @param requestOptions {@link IRequest.Options }
    */
    removeWebhook(companyId: string, webhookId: string, requestOptions?: IRequest.Options): Promise<void>;
    /**
    * @summary Set up a webhook
    * @param companyId {@link string } Unique identifier of the [company account](https://docs.adyen.com/account/account-structure#company-account).
    * @param createCompanyWebhookRequest {@link CreateCompanyWebhookRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Webhook }
    */
    setUpWebhook(companyId: string, createCompanyWebhookRequest: CreateCompanyWebhookRequest, requestOptions?: IRequest.Options): Promise<Webhook>;
    /**
    * @summary Test a webhook
    * @param companyId {@link string } The unique identifier of the company account.
    * @param webhookId {@link string } Unique identifier of the webhook configuration.
    * @param testCompanyWebhookRequest {@link TestCompanyWebhookRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link TestWebhookResponse }
    */
    testWebhook(companyId: string, webhookId: string, testCompanyWebhookRequest: TestCompanyWebhookRequest, requestOptions?: IRequest.Options): Promise<TestWebhookResponse>;
    /**
    * @summary Update a webhook
    * @param companyId {@link string } The unique identifier of the company account.
    * @param webhookId {@link string } Unique identifier of the webhook configuration.
    * @param updateCompanyWebhookRequest {@link UpdateCompanyWebhookRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Webhook }
    */
    updateWebhook(companyId: string, webhookId: string, updateCompanyWebhookRequest: UpdateCompanyWebhookRequest, requestOptions?: IRequest.Options): Promise<Webhook>;
}
