import type { AxiosRequestConfig, AxiosResponse } from 'axios'; /** * Configuration for creating a Confluence client */ export interface ConfluenceClientConfig { /** Base URL of the Confluence Server (e.g., "https://confluence.example.com") */ baseUrl: string; /** Confluence Personal Access Token. */ token?: string; /** Optional additional axios configuration */ axiosConfig?: AxiosRequestConfig; /** * Called with every response — successful or failed — before it is returned to * the caller. A pure pass-through: the client draws no conclusion from it, it * only hands the consumer something axios would otherwise discard (headers, in * particular). Throwing from the hook rejects the call, which is how a consumer * turns a response-level signal into an error. * * Exists because Confluence reports authentication in the `x-ausername` header * rather than in the status code — an expired token yields 200/403/404 with the * header simply absent, so the body alone cannot tell you the call was served * to an anonymous caller. Deciding what that means is the consumer's business, * so the client only surfaces it (see confluencedc-cli's `getClient`). * * Not applied to the PAT (`accessTokens`) API, which uses basic auth on a * different base URL and does not extend `BaseApi`. */ onResponse?: (response: AxiosResponse) => void; } /** * Standard paginated response from Confluence REST API */ export interface ConfluencePaginatedResponse { results: T[]; start: number; limit: number; size: number; totalSize?: number; _links?: { self?: string; next?: string; base?: string; }; } //# sourceMappingURL=common.d.ts.map