UNPKG

@letsparky/api-v2-client

Version:

TypeScript client for the LetsParky API V2

37 lines (36 loc) 1.4 kB
import { ClientConfig, ApiResponse, Environment, LogLevel, PaginationParams, PaginatedResponse, RateLimitInfo } from './types'; /** * Simplified API client for LetsParky API v2 */ export declare class ApiClient { private baseUrl; private apiKey?; private email?; private password?; private authToken?; private logger; private environment; private rateLimitInfo; private timeout; constructor(config?: ClientConfig); private getDefaultBaseUrl; private buildUrl; private createHeaders; private makeRequest; private extractErrorMessage; private handleAuthResponse; private refreshToken; setApiKey(apiKey: string): void; setToken(token: string, expiresIn?: number): void; getToken(): string | null; isAuthenticated(): boolean; setEnvironment(environment: Environment): void; setLogLevel(level: LogLevel): void; authenticate(): Promise<void>; getRateLimitInfo(): RateLimitInfo | null; get<T>(path: string, params?: Record<string, any>): Promise<ApiResponse<T>>; getPaginated<T>(path: string, paginationParams?: PaginationParams, queryParams?: Record<string, any>): Promise<PaginatedResponse<T>>; post<T>(path: string, data?: any): Promise<ApiResponse<T>>; put<T>(path: string, data?: any): Promise<ApiResponse<T>>; delete<T>(path: string, data?: any): Promise<ApiResponse<T>>; }