import { AxiosInstance } from "axios";
import type { JsonApiResponse, JsonApiResource } from "../types.js";
/**
* Initialize the PCO API client using Personal Access Token credentials.
* Credentials are read from PCO_APP_ID and PCO_SECRET environment variables.
*/
export declare function getApiClient(): AxiosInstance;
/**
* Make a GET request to the PCO API.
*/
export declare function apiGet<T = JsonApiResource>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<JsonApiResponse<T>>;
/**
* Make a POST request to the PCO API.
*/
export declare function apiPost<T = JsonApiResource>(path: string, body: unknown): Promise<JsonApiResponse<T>>;
/**
* Make a PATCH request to the PCO API.
*/
export declare function apiPatch<T = JsonApiResource>(path: string, body: unknown): Promise<JsonApiResponse<T>>;
/**
* Make a DELETE request to the PCO API.
*/
export declare function apiDelete(path: string): Promise<void>;
/**
* Convert an API error to a human-readable message.
*/
export declare function handleApiError(error: unknown): string;
/**
* Build PCO pagination query parameters (offset-based, JSON API style).
*/
export declare function buildPaginationParams(limit: number, offset: number): Record<string, number>;
/**
* Extract total count from a JSON API response.
*/
export declare function getTotalCount(response: JsonApiResponse): number;
/**
* Ensure response data is always an array.
*/
export declare function ensureArray<T>(data: T | T[]): T[];
//# sourceMappingURL=api.d.ts.map