import Decimal from "decimal.js";
import { type Endpoints } from "./constants";
import type { Network } from "./types";
export declare function bytesToHex(bytes: Uint8Array): string;
export declare function hexToBytes(hex: string): Uint8Array;
export declare function hexToBase64(hex: string): string;
export declare function hexToBase58(hex: string): string;
export declare function base58ToBytes(base58: string): Uint8Array;
export declare function base58ToHex(base58: string): string;
export declare function sleep(ms: number): Promise<void>;
export declare function isNode(): boolean;
export declare function serializeVersioned<T>(versioned: {
    version: string;
    data: T;
}): unknown;
export declare function serialize<T>(value: T): T;
export declare const isNetwork: (value: string) => value is Network;
export declare const isValidHttpUrl: (url: string) => boolean;
export declare const isValidWsUrl: (url: string) => boolean;
export declare const validateEndpoints: (endpoints: Endpoints) => void;
/**
 * Converts human-readable token amount to native units (scaled by decimals)
 * @param amount - Human-readable token amount (e.g., 1000 for 1k SOL, 1.5 for 1.5 SOL)
 * @param decimals - Token decimals (e.g., 9 for SOL, 6 for USDC, 8 for BTC, 18 for ETH)
 * @returns Native token amount as BigInt
 * @example
 * toNativeUnits(1000, 9) // 1000 SOL = 1000000000000n
 * toNativeUnits(100, 6) // 100 USDC = 100000000n
 * toNativeUnits(1.5, 9) // 1.5 SOL = 1500000000n
 */
export declare function toNativeUnits(amount: number, decimals: number): bigint;
export declare function fromNativeUnits(amount: bigint, decimals: number): Decimal;
//# sourceMappingURL=utils.d.ts.map