UNPKG

@swimmable/sdk

Version:

Official JavaScript/TypeScript SDK for the Swimmable API - Real-time swimming conditions and water quality data

84 lines 2.97 kB
/** * Swimmable API Client * Official JavaScript/TypeScript SDK for the Swimmable API */ import { SwimmableConfig, Coordinates, BasicConditions, EnhancedConditions, SpotsResponse, RequestOptions, HealthStatus, UsageStats, ApiKeyInfo, CreateApiKeyRequest, CreateApiKeyResponse } from './types'; export declare class SwimmableClient { private config; constructor(config?: SwimmableConfig); /** * Make an HTTP request to the Swimmable API */ private request; /** * Get basic swimming conditions for a location * @param coordinates - Latitude and longitude * @param options - Request options */ getConditions(coordinates: Coordinates, options?: RequestOptions): Promise<BasicConditions>; /** * Get enhanced swimming conditions with detailed analysis * @param coordinates - Latitude and longitude * @param options - Request options */ getEnhancedConditions(coordinates: Coordinates, options?: RequestOptions): Promise<EnhancedConditions>; /** * Get list of available swimming spots * @param options - Request options */ getSpots(options?: RequestOptions): Promise<SpotsResponse>; /** * Get API health status * @param options - Request options */ getHealth(options?: RequestOptions): Promise<HealthStatus>; /** * Get your API usage statistics (requires API key) * @param days - Number of days to look back (default: 30) * @param options - Request options */ getUsageStats(days?: number, options?: RequestOptions): Promise<UsageStats>; /** * Get your API keys (requires authentication) * @param options - Request options */ getApiKeys(options?: RequestOptions): Promise<ApiKeyInfo[]>; /** * Create a new API key (requires authentication) * @param keyData - API key creation data * @param options - Request options */ createApiKey(keyData: CreateApiKeyRequest, options?: RequestOptions): Promise<CreateApiKeyResponse>; /** * Revoke an API key (requires authentication) * @param keyId - ID of the API key to revoke * @param options - Request options */ revokeApiKey(keyId: string, options?: RequestOptions): Promise<{ success: boolean; }>; /** * Update the API key for this client * @param apiKey - New API key */ setApiKey(apiKey: string): void; /** * Get the current configuration */ getConfig(): SwimmableConfig; /** * Update client configuration * @param config - Configuration updates */ updateConfig(config: Partial<SwimmableConfig>): void; } /** * Create a new Swimmable client instance * @param config - Client configuration */ export declare function createClient(config?: SwimmableConfig): SwimmableClient; /** * Default client instance (can be configured globally) */ export declare const swimmable: SwimmableClient; //# sourceMappingURL=client.d.ts.map