import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { Events } from '../models';
import type { PaginatedWebhookDeliveryReadList } from '../models';
import type { PaginatedWebhookReadList } from '../models';
import type { PatchedWebhookWriteRequest } from '../models';
import type { WebhookDeliveryRead } from '../models';
import type { WebhookRead } from '../models';
import type { WebhookWriteRequest } from '../models';
export declare const WebhooksApiAxiosParamCreator: (configuration?: Configuration) => {
    webhooksCreate: (webhookWriteRequest: WebhookWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksCreateDeliveriesRedelivery: (deliveryId: string, id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksCreatePing: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksDestroy: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksList: (xOrganization?: string, filter?: string, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, projectId?: number, search?: string, sort?: string, targetUrl?: string, type?: WebhooksListTypeEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksListDeliveries: (id: number, page?: number, pageSize?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksPartialUpdate: (id: number, patchedWebhookWriteRequest?: PatchedWebhookWriteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksRetrieve: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksRetrieveDeliveries: (deliveryId: string, id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksRetrieveEvents: (type?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    webhooksUpdate: (id: number, webhookWriteRequest: WebhookWriteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const WebhooksApiFp: (configuration?: Configuration) => {
    webhooksCreate(webhookWriteRequest: WebhookWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookRead>>;
    webhooksCreateDeliveriesRedelivery(deliveryId: string, id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    webhooksCreatePing(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookDeliveryRead>>;
    webhooksDestroy(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    webhooksList(xOrganization?: string, filter?: string, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, projectId?: number, search?: string, sort?: string, targetUrl?: string, type?: WebhooksListTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedWebhookReadList>>;
    webhooksListDeliveries(id: number, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedWebhookDeliveryReadList>>;
    webhooksPartialUpdate(id: number, patchedWebhookWriteRequest?: PatchedWebhookWriteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookRead>>;
    webhooksRetrieve(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookRead>>;
    webhooksRetrieveDeliveries(deliveryId: string, id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookDeliveryRead>>;
    webhooksRetrieveEvents(type?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Events>>;
    webhooksUpdate(id: number, webhookWriteRequest: WebhookWriteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookRead>>;
};
export declare const WebhooksApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    webhooksCreate(requestParameters: WebhooksApiWebhooksCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookRead>;
    webhooksCreateDeliveriesRedelivery(requestParameters: WebhooksApiWebhooksCreateDeliveriesRedeliveryRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    webhooksCreatePing(requestParameters: WebhooksApiWebhooksCreatePingRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookDeliveryRead>;
    webhooksDestroy(requestParameters: WebhooksApiWebhooksDestroyRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    webhooksList(requestParameters?: WebhooksApiWebhooksListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedWebhookReadList>;
    webhooksListDeliveries(requestParameters: WebhooksApiWebhooksListDeliveriesRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedWebhookDeliveryReadList>;
    webhooksPartialUpdate(requestParameters: WebhooksApiWebhooksPartialUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookRead>;
    webhooksRetrieve(requestParameters: WebhooksApiWebhooksRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookRead>;
    webhooksRetrieveDeliveries(requestParameters: WebhooksApiWebhooksRetrieveDeliveriesRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookDeliveryRead>;
    webhooksRetrieveEvents(requestParameters?: WebhooksApiWebhooksRetrieveEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<Events>;
    webhooksUpdate(requestParameters: WebhooksApiWebhooksUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookRead>;
};
export interface WebhooksApiWebhooksCreateRequest {
    readonly webhookWriteRequest: WebhookWriteRequest;
    readonly xOrganization?: string;
    readonly org?: string;
    readonly orgId?: number;
}
export interface WebhooksApiWebhooksCreateDeliveriesRedeliveryRequest {
    readonly deliveryId: string;
    readonly id: number;
}
export interface WebhooksApiWebhooksCreatePingRequest {
    readonly id: number;
}
export interface WebhooksApiWebhooksDestroyRequest {
    readonly id: number;
}
export interface WebhooksApiWebhooksListRequest {
    readonly xOrganization?: string;
    readonly filter?: string;
    readonly org?: string;
    readonly orgId?: number;
    readonly owner?: string;
    readonly page?: number;
    readonly pageSize?: number;
    readonly projectId?: number;
    readonly search?: string;
    readonly sort?: string;
    readonly targetUrl?: string;
    readonly type?: WebhooksListTypeEnum;
}
export interface WebhooksApiWebhooksListDeliveriesRequest {
    readonly id: number;
    readonly page?: number;
    readonly pageSize?: number;
}
export interface WebhooksApiWebhooksPartialUpdateRequest {
    readonly id: number;
    readonly patchedWebhookWriteRequest?: PatchedWebhookWriteRequest;
}
export interface WebhooksApiWebhooksRetrieveRequest {
    readonly id: number;
}
export interface WebhooksApiWebhooksRetrieveDeliveriesRequest {
    readonly deliveryId: string;
    readonly id: number;
}
export interface WebhooksApiWebhooksRetrieveEventsRequest {
    readonly type?: string;
}
export interface WebhooksApiWebhooksUpdateRequest {
    readonly id: number;
    readonly webhookWriteRequest: WebhookWriteRequest;
}
export declare class WebhooksApi extends BaseAPI {
    webhooksCreate(requestParameters: WebhooksApiWebhooksCreateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookRead, any>>;
    webhooksCreateDeliveriesRedelivery(requestParameters: WebhooksApiWebhooksCreateDeliveriesRedeliveryRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    webhooksCreatePing(requestParameters: WebhooksApiWebhooksCreatePingRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookDeliveryRead, any>>;
    webhooksDestroy(requestParameters: WebhooksApiWebhooksDestroyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    webhooksList(requestParameters?: WebhooksApiWebhooksListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedWebhookReadList, any>>;
    webhooksListDeliveries(requestParameters: WebhooksApiWebhooksListDeliveriesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedWebhookDeliveryReadList, any>>;
    webhooksPartialUpdate(requestParameters: WebhooksApiWebhooksPartialUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookRead, any>>;
    webhooksRetrieve(requestParameters: WebhooksApiWebhooksRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookRead, any>>;
    webhooksRetrieveDeliveries(requestParameters: WebhooksApiWebhooksRetrieveDeliveriesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookDeliveryRead, any>>;
    webhooksRetrieveEvents(requestParameters?: WebhooksApiWebhooksRetrieveEventsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Events, any>>;
    webhooksUpdate(requestParameters: WebhooksApiWebhooksUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookRead, any>>;
}
export declare const WebhooksListTypeEnum: {
    readonly Organization: "organization";
    readonly Project: "project";
};
export type WebhooksListTypeEnum = typeof WebhooksListTypeEnum[keyof typeof WebhooksListTypeEnum];
