/**
 * ShipStation API v2
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { CreateWebhookRequestBody } from '../models';
import type { CreateWebhookResponseBody } from '../models';
import type { GetWebhookByIdResponseBody } from '../models';
import type { UpdateWebhookRequestBody } from '../models';
import type { Webhook } from '../models';
/**
 * WebhooksApi - axios parameter creator
 * @export
 */
export declare const WebhooksApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Create a webook for specific events in the environment.
     * @summary Create a webhook
     * @param {CreateWebhookRequestBody} createWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createWebhook: (createWebhookRequestBody: CreateWebhookRequestBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Delete a webhook
     * @summary Delete webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteWebhook: (webhookId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieve individual webhook by an ID
     * @summary Get webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookById: (webhookId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * List all webhooks currently enabled for the account.
     * @summary List webhooks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listWebhooks: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update the webhook url property
     * @summary Update a webhook
     * @param {string} webhookId Webhook ID
     * @param {UpdateWebhookRequestBody} updateWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateWebhook: (webhookId: string, updateWebhookRequestBody: UpdateWebhookRequestBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * WebhooksApi - functional programming interface
 * @export
 */
export declare const WebhooksApiFp: (configuration?: Configuration) => {
    /**
     * Create a webook for specific events in the environment.
     * @summary Create a webhook
     * @param {CreateWebhookRequestBody} createWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createWebhook(createWebhookRequestBody: CreateWebhookRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateWebhookResponseBody>>;
    /**
     * Delete a webhook
     * @summary Delete webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteWebhook(webhookId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     * Retrieve individual webhook by an ID
     * @summary Get webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookById(webhookId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetWebhookByIdResponseBody>>;
    /**
     * List all webhooks currently enabled for the account.
     * @summary List webhooks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listWebhooks(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Webhook>>>;
    /**
     * Update the webhook url property
     * @summary Update a webhook
     * @param {string} webhookId Webhook ID
     * @param {UpdateWebhookRequestBody} updateWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateWebhook(webhookId: string, updateWebhookRequestBody: UpdateWebhookRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
};
/**
 * WebhooksApi - factory interface
 * @export
 */
export declare const WebhooksApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Create a webook for specific events in the environment.
     * @summary Create a webhook
     * @param {CreateWebhookRequestBody} createWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createWebhook(createWebhookRequestBody: CreateWebhookRequestBody, options?: RawAxiosRequestConfig): AxiosPromise<CreateWebhookResponseBody>;
    /**
     * Delete a webhook
     * @summary Delete webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteWebhook(webhookId: string, options?: RawAxiosRequestConfig): AxiosPromise<string>;
    /**
     * Retrieve individual webhook by an ID
     * @summary Get webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookById(webhookId: string, options?: RawAxiosRequestConfig): AxiosPromise<GetWebhookByIdResponseBody>;
    /**
     * List all webhooks currently enabled for the account.
     * @summary List webhooks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listWebhooks(options?: RawAxiosRequestConfig): AxiosPromise<Array<Webhook>>;
    /**
     * Update the webhook url property
     * @summary Update a webhook
     * @param {string} webhookId Webhook ID
     * @param {UpdateWebhookRequestBody} updateWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateWebhook(webhookId: string, updateWebhookRequestBody: UpdateWebhookRequestBody, options?: RawAxiosRequestConfig): AxiosPromise<string>;
};
/**
 * WebhooksApi - object-oriented interface
 * @export
 * @class WebhooksApi
 * @extends {BaseAPI}
 */
export declare class WebhooksApi extends BaseAPI {
    /**
     * Create a webook for specific events in the environment.
     * @summary Create a webhook
     * @param {CreateWebhookRequestBody} createWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhooksApi
     */
    createWebhook(createWebhookRequestBody: CreateWebhookRequestBody, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Webhook, any>>;
    /**
     * Delete a webhook
     * @summary Delete webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhooksApi
     */
    deleteWebhook(webhookId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
    /**
     * Retrieve individual webhook by an ID
     * @summary Get webhook by id
     * @param {string} webhookId Webhook ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhooksApi
     */
    getWebhookById(webhookId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Webhook, any>>;
    /**
     * List all webhooks currently enabled for the account.
     * @summary List webhooks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhooksApi
     */
    listWebhooks(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Webhook[], any>>;
    /**
     * Update the webhook url property
     * @summary Update a webhook
     * @param {string} webhookId Webhook ID
     * @param {UpdateWebhookRequestBody} updateWebhookRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhooksApi
     */
    updateWebhook(webhookId: string, updateWebhookRequestBody: UpdateWebhookRequestBody, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
}
