import { G as GetAbacusStatePathParameters, U as UpdateAbacusStatePathParameters, e as GetAbacusStatesByParentTablePathParameters, k as UpdateAbacusStatesPathParameters, n as CreateAbacusStatesByParentTablePathParameters, o as CreateAbacusStatesByParentTableParams, A as ApiResponse, a as GetAbacusStateHeaders, b as AbacusState, c as UpdateAbacusStateBody, d as UpdateAbacusStateHeaders, f as GetAbacusStatesByParentTableHeaders, g as AbacusStatesResponse, h as GetAbacusStatesBody, D as DataloadAbacusStatesHeaders, i as DataloadAbacusStatesResponse, C as CreateAbacusStatesBody, j as CreateAbacusStatesHeaders, l as UpdateAbacusStatesBody, m as UpdateAbacusStatesHeaders, p as CreateAbacusStatesByParentTableHeaders, q as GetHealthHeaders, H as Health } from './common-qMwTyvMz.cjs';
import { HeaderProvider, Logger } from '@abacus/common';
import { Throttler } from '@abacus/throttlers';

/**
 * Get an Abacus state by ID
 */
declare const getGetAbacusStateUrl: ({ abacusStateId, }: GetAbacusStatePathParameters) => string;
/**
 * Update an Abacus state
 */
declare const getUpdateAbacusStateUrl: ({ abacusStateId, }: UpdateAbacusStatePathParameters) => string;
/**
 * Get all state actions for a specified parent_table_name and parent_table_id
 */
declare const getGetAbacusStatesByParentTableUrl: ({ parentTableName, parentTableId, }: GetAbacusStatesByParentTablePathParameters) => string;
/**
 * Dataload Abacus states by Abacus state IDs
 */
declare const getDataloadAbacusStatesUrl: () => string;
/**
 * Create abacus states
 */
declare const getCreateAbacusStatesUrl: () => string;
/**
 * Update action status of abacus states
 */
declare const getUpdateAbacusStatesUrl: ({ parentTableName, }: UpdateAbacusStatesPathParameters) => string;
/**
 * Create Abacus state records for the specified parent table ID
 */
declare const getCreateAbacusStatesByParentTableUrl: ({ parentTableName, parentTableId, }: CreateAbacusStatesByParentTablePathParameters, params?: CreateAbacusStatesByParentTableParams) => string;
/**
 * Check the health of the application.
 */
declare const getGetHealthUrl: () => string;

interface ApiConfig {
    auth?: HeaderProvider;
    baseUrl?: string;
    logger?: Logger;
    throttler?: Throttler;
}
declare class OwsAbacusStateClient {
    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;
    getAbacusState({ abacusStateId }: GetAbacusStatePathParameters, headers?: GetAbacusStateHeaders, options?: RequestInit): Promise<ApiResponse<AbacusState>>;
    updateAbacusState({ abacusStateId }: UpdateAbacusStatePathParameters, updateAbacusStateBody: UpdateAbacusStateBody, headers?: UpdateAbacusStateHeaders, options?: RequestInit): Promise<ApiResponse<AbacusState>>;
    getAbacusStatesByParentTable({ parentTableName, parentTableId, }: GetAbacusStatesByParentTablePathParameters, headers?: GetAbacusStatesByParentTableHeaders, options?: RequestInit): Promise<ApiResponse<AbacusStatesResponse>>;
    dataloadAbacusStates(getAbacusStatesBody: GetAbacusStatesBody, headers?: DataloadAbacusStatesHeaders, options?: RequestInit): Promise<ApiResponse<DataloadAbacusStatesResponse>>;
    createAbacusStates(createAbacusStatesBody: CreateAbacusStatesBody, headers?: CreateAbacusStatesHeaders, options?: RequestInit): Promise<ApiResponse<AbacusStatesResponse>>;
    updateAbacusStates({ parentTableName }: UpdateAbacusStatesPathParameters, updateAbacusStatesBody: UpdateAbacusStatesBody, headers?: UpdateAbacusStatesHeaders, options?: RequestInit): Promise<ApiResponse<AbacusStatesResponse>>;
    createAbacusStatesByParentTable({ parentTableName, parentTableId, }: CreateAbacusStatesByParentTablePathParameters, params?: CreateAbacusStatesByParentTableParams, headers?: CreateAbacusStatesByParentTableHeaders, options?: RequestInit): Promise<ApiResponse<AbacusStatesResponse>>;
    getHealth(headers?: GetHealthHeaders, options?: RequestInit): Promise<ApiResponse<Health>>;
}

export { type ApiConfig, OwsAbacusStateClient, getCreateAbacusStatesByParentTableUrl, getCreateAbacusStatesUrl, getDataloadAbacusStatesUrl, getGetAbacusStateUrl, getGetAbacusStatesByParentTableUrl, getGetHealthUrl, getUpdateAbacusStateUrl, getUpdateAbacusStatesUrl };
