import { MetalEnvironment, HolderResponse, PortfolioSummary, PresaleResponse } from './client'; interface ClientConfig { publicApiKey: string; apiBasePath?: string; } /** * Client-side SDK for Metal Presales * This class only contains methods that work with the public API key * and is safe to use in browser environments. */ export declare class MetalPresalesClient { private publicApiKey; private apiBasePath; constructor({ publicApiKey, apiBasePath }: ClientConfig); /** * Public API methods - these work with just the public key */ getHolder(userId: string, environment?: MetalEnvironment): Promise; getHolderWithPortfolio(userId: string, environment?: MetalEnvironment): Promise<{ holder: HolderResponse; portfolio: PortfolioSummary; }>; getPresale(presaleId: string, environment?: MetalEnvironment): Promise; /** * Server-proxied methods - these call your API routes */ createUser(userId: string): Promise; getActivePresales(): Promise; buyPresale(userId: string, presaleId: string, usdcAmount: number): Promise; buyTokens(userId: string, tokenAddress: string, usdcAmount: number): Promise; sellTokens(userId: string, tokenAddress: string, tokenAmount: number): Promise; quoteBuyTokens(userId: string, tokenAddress: string, usdcAmount: number): Promise; quoteSellTokens(userId: string, tokenAddress: string, tokenAmount: number): Promise; } export type { HolderResponse, PortfolioSummary, PresaleResponse } from './client'; //# sourceMappingURL=client-sdk.d.ts.map