import { CesiumPlusClientOptions, CesiumPlusNodeSummary, CesiumPlusProfile, CesiumPlusProfileData, CesiumPlusSearchHit, SearchOptions, SignFunction } from './types'; /** * Default CesiumPlus pod endpoint */ export declare const DEFAULT_CESIUM_PLUS_ENDPOINT = "https://g1.data.e-is.pro"; /** * CesiumPlusClient handles REST API operations for Cesium+ pods * Manages user profiles and avatars using the legacy CesiumPlus (v1) API * * This client uses base58 encoded pubkeys (not SS58 addresses) for API calls */ export declare class CesiumPlusClient { private endpoint; private timeout; private cacheEnabled; private cacheManager; /** * Create a new CesiumPlusClient * @param options - Client configuration options */ constructor(options?: CesiumPlusClientOptions); /** * Get current endpoint URL */ getEndpoint(): string; /** * Set endpoint URL */ setEndpoint(endpoint: string): void; /** * Get profile by SS58 address * Automatically converts SS58 address to base58 pubkey for API call */ getProfile(address: string): Promise; /** * Get profile by base58 pubkey (for direct calls) */ getProfileByPubkey(pubkey: string): Promise; /** * Get full profile with avatar content by SS58 address */ getFullProfile(address: string): Promise; /** * Save (create or update) a profile * @param address - SS58 address of the profile owner * @param profileData - Profile data to save * @param signFunction - Function to sign the hash with the user's keypair * @returns true if successful */ saveProfile(address: string, profileData: CesiumPlusProfileData, signFunction: SignFunction): Promise; /** * Delete a profile * @param address - SS58 address of the profile owner * @param signFunction - Function to sign the hash with the user's keypair * @returns true if successful */ deleteProfile(address: string, signFunction: SignFunction): Promise; /** * Search profiles by text */ searchProfiles(searchText: string, options?: SearchOptions): Promise; /** * Search profiles by pubkeys (batch lookup) */ searchProfilesByPubkeys(pubkeys: string[], limit?: number): Promise; /** * Pre-check which addresses have profiles (batch operation) * This reduces 404 errors by caching non-existent profiles */ preloadProfilesExistence(addresses: string[]): Promise; /** * Get avatar as base64 data URL by SS58 address * Returns a data URL string (e.g., "data:image/png;base64,...") */ getAvatar(address: string): Promise; /** * Check if CesiumPlus pod is alive and valid */ isAlive(): Promise; /** * Get node summary information */ getNodeSummary(): Promise; /** * Clear all caches */ clearCache(): void; /** * Clear cache for a specific address */ clearCacheFor(address: string): void; /** * Clean up expired cache entries */ cleanupCache(): void; /** * Convert SS58 address to base58 pubkey */ addressToPubkey(address: string): string; /** * Fetch with timeout support */ private fetchWithTimeout; /** * Check if error is a 404 Not Found */ private isNotFoundError; }