@swimmable/sdk
Version:
Official JavaScript/TypeScript SDK for the Swimmable API - Real-time swimming conditions and water quality data
84 lines • 2.97 kB
TypeScript
/**
* 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