/** * LinkForty API client abstraction. * * `LinkFortyClient` is the interface consumed by tool handlers — a thin * HTTP-ish surface that can be implemented either against the public Cloud API * (see `HttpLinkFortyClient` below) or in-process by a Cloud backend that * wants to execute tools without a network hop. */ import type { Config } from './config.js'; export interface LinkFortyClient { /** * API key the client is operating as, if any. Used by tools that need to * emit the key into user-facing output (e.g. SDK install snippets). * In-process implementations that don't have an API key on hand can leave * this undefined; callers should fall back to a placeholder in that case. */ readonly apiKey?: string; request(path: string, options?: { method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; body?: unknown; query?: Record; }): Promise; get(path: string, query?: Record): Promise; post(path: string, body?: unknown): Promise; put(path: string, body?: unknown): Promise; patch(path: string, body?: unknown): Promise; delete(path: string): Promise; } /** * Default HTTP-based implementation. Authenticates via API key (Bearer token) * and talks to a LinkForty Cloud API over fetch. */ export declare class HttpLinkFortyClient implements LinkFortyClient { private config; constructor(config: Config); get apiKey(): string; request(path: string, options?: { method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; body?: unknown; query?: Record; }): Promise; get(path: string, query?: Record): Promise; post(path: string, body?: unknown): Promise; put(path: string, body?: unknown): Promise; patch(path: string, body?: unknown): Promise; delete(path: string): Promise; } //# sourceMappingURL=client.d.ts.map