export type RestClientRequest = (endpoint: string, params: Record) => Promise; export interface RestClientOptions { baseUrl: string; apiKey?: string; bearerToken?: string; sdkToken?: string; } export declare abstract class RestClient { protected readonly options: RestClientOptions; constructor(options: RestClientOptions); /** * The prefix every request from this client is built on, fully resolved — * host, version segment and product. Endpoints are appended to it. * * The version segment is chosen by the SDK rather than written by the * caller, so this is the only way to see what a client actually resolved to. */ get baseUrl(): string; protected request: (endpoint: string, params?: Record) => Promise; }