import { G as GetContractPathParameters, U as UpdateContractPathParameters, d as GetContractLifecyclePathParameters, T as TerminateContractPathParameters, R as ReactivateContractPathParameters, A as ApiResponse, a as GetContractHeaders, C as Contract, b as UpdateContractBody, c as UpdateContractHeaders, e as ContractLifecycle, f as TerminateContractBody, g as TerminateContractHeaders, h as ReactivateContractHeaders, i as GetContractsBody, j as ContractsResponse, D as DataloadContractsResponse, k as GetHealthHeaders, H as Health } from './common-DZdd_V30.cjs';
import { HeaderProvider, Logger } from '@abacus/common';
import { Throttler } from '@abacus/throttlers';

/**
 * Retrieves contract details
 */
declare const getGetContractUrl: ({ contractId, }: GetContractPathParameters) => string;
/**
 * Update contract details for a specified contract
 */
declare const getUpdateContractUrl: ({ contractId, }: UpdateContractPathParameters) => string;
/**
 * Get the contract lifecycle associated to the specified contract
 */
declare const getGetContractLifecycleUrl: ({ contractId, }: GetContractLifecyclePathParameters) => string;
/**
 * Terminate a contract
 */
declare const getTerminateContractUrl: ({ contractId, }: TerminateContractPathParameters) => string;
/**
 * Reactivate a contract
 */
declare const getReactivateContractUrl: ({ contractId, }: ReactivateContractPathParameters) => string;
/**
 * Get a list of contracts by contract_id
 */
declare const getGetContractsUrl: () => string;
/**
 * Get a list of contracts by contract_id
 */
declare const getDataloadContractsUrl: () => string;
/**
 * Check the health of the application.
 */
declare const getGetHealthUrl: () => string;

interface ApiConfig {
    auth?: HeaderProvider;
    baseUrl?: string;
    logger?: Logger;
    throttler?: Throttler;
}
declare class OwsAbacusContractClient {
    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;
    getContract({ contractId }: GetContractPathParameters, headers?: GetContractHeaders, options?: RequestInit): Promise<ApiResponse<Contract>>;
    updateContract({ contractId }: UpdateContractPathParameters, updateContractBody: UpdateContractBody, headers?: UpdateContractHeaders, options?: RequestInit): Promise<ApiResponse<Contract>>;
    getContractLifecycle({ contractId }: GetContractLifecyclePathParameters, options?: RequestInit): Promise<ApiResponse<ContractLifecycle>>;
    terminateContract({ contractId }: TerminateContractPathParameters, terminateContractBody: TerminateContractBody, headers?: TerminateContractHeaders, options?: RequestInit): Promise<ApiResponse<Contract>>;
    reactivateContract({ contractId }: ReactivateContractPathParameters, headers?: ReactivateContractHeaders, options?: RequestInit): Promise<ApiResponse<Contract>>;
    getContracts(getContractsBody: GetContractsBody, options?: RequestInit): Promise<ApiResponse<ContractsResponse>>;
    dataloadContracts(getContractsBody: GetContractsBody, options?: RequestInit): Promise<ApiResponse<DataloadContractsResponse>>;
    getHealth(headers?: GetHealthHeaders, options?: RequestInit): Promise<ApiResponse<Health>>;
}

export { type ApiConfig, OwsAbacusContractClient, getDataloadContractsUrl, getGetContractLifecycleUrl, getGetContractUrl, getGetContractsUrl, getGetHealthUrl, getReactivateContractUrl, getTerminateContractUrl, getUpdateContractUrl };
