import { G as GetAbacusEventPathParameters, d as GetAbacusEventsByTargetPathParameters, i as GetPaymentGroupPaymentApprovalCountPathParameters, A as ApiResponse, C as CreateAbacusEventBody, a as CreateAbacusEventHeaders, b as AbacusEvent, c as GetAbacusEventHeaders, e as GetAbacusEventsByTargetHeaders, f as AbacusEventsResponse, g as GetAbacusEventsBody, D as DataloadAbacusEventsHeaders, h as DataloadAbacusEventsResponse, j as GetPaymentGroupPaymentApprovalCountHeaders, P as PaymentGroupPaymentApprovalCount, R as RollbackAbacusEventBody, k as RollbackAbacusEventHeaders, l as GetHealthHeaders, H as Health } from './common-Bso2dIMa.cjs';
import { HeaderProvider, Logger } from '@abacus/common';
import { Throttler } from '@abacus/throttlers';

/**
 * Create an Abacus event
 */
declare const getCreateAbacusEventUrl: () => string;
/**
 * Get an Abacus event by ID
 */
declare const getGetAbacusEventUrl: ({ abacusEventId, }: GetAbacusEventPathParameters) => string;
/**
 * Get all events for a specified target type / id
 */
declare const getGetAbacusEventsByTargetUrl: ({ targetType, targetId, }: GetAbacusEventsByTargetPathParameters) => string;
/**
 * Dataload Abacus events by Abacus event IDs
 */
declare const getDataloadAbacusEventsUrl: () => string;
/**
 * Get the number of current approval events for a Payment Group Payment
 */
declare const getGetPaymentGroupPaymentApprovalCountUrl: ({ paymentGroupPaymentId, }: GetPaymentGroupPaymentApprovalCountPathParameters) => string;
/**
 * @summary Rolls back an Abacus event
 */
declare const getRollbackAbacusEventUrl: () => string;
/**
 * Check the health of the application.
 */
declare const getGetHealthUrl: () => string;

interface ApiConfig {
    auth?: HeaderProvider;
    baseUrl?: string;
    logger?: Logger;
    throttler?: Throttler;
}
declare class OwsAbacusEventClient {
    auth?: HeaderProvider;
    baseUrl: string;
    logger?: Logger;
    throttler?: Throttler;
    constructor(config?: ApiConfig);
    _fetch<T>(url: string, options: RequestInit): Promise<ApiResponse<T>>;
    private _getData;
    private _getHeaders;
    private _onRequest;
    createAbacusEvent(createAbacusEventBody: CreateAbacusEventBody, headers?: CreateAbacusEventHeaders, options?: RequestInit): Promise<ApiResponse<AbacusEvent>>;
    getAbacusEvent({ abacusEventId }: GetAbacusEventPathParameters, headers?: GetAbacusEventHeaders, options?: RequestInit): Promise<ApiResponse<AbacusEvent>>;
    getAbacusEventsByTarget({ targetType, targetId }: GetAbacusEventsByTargetPathParameters, headers?: GetAbacusEventsByTargetHeaders, options?: RequestInit): Promise<ApiResponse<AbacusEventsResponse>>;
    dataloadAbacusEvents(getAbacusEventsBody: GetAbacusEventsBody, headers?: DataloadAbacusEventsHeaders, options?: RequestInit): Promise<ApiResponse<DataloadAbacusEventsResponse>>;
    getPaymentGroupPaymentApprovalCount({ paymentGroupPaymentId, }: GetPaymentGroupPaymentApprovalCountPathParameters, headers?: GetPaymentGroupPaymentApprovalCountHeaders, options?: RequestInit): Promise<ApiResponse<PaymentGroupPaymentApprovalCount>>;
    rollbackAbacusEvent(rollbackAbacusEventBody: RollbackAbacusEventBody, headers?: RollbackAbacusEventHeaders, options?: RequestInit): Promise<ApiResponse<AbacusEvent>>;
    getHealth(headers?: GetHealthHeaders, options?: RequestInit): Promise<ApiResponse<Health>>;
}

export { type ApiConfig, OwsAbacusEventClient, getCreateAbacusEventUrl, getDataloadAbacusEventsUrl, getGetAbacusEventUrl, getGetAbacusEventsByTargetUrl, getGetHealthUrl, getGetPaymentGroupPaymentApprovalCountUrl, getRollbackAbacusEventUrl };
