/**
 * Enhanced encoding utilities for various formats
 */
/**
 * Convert a buffer to a hexadecimal string
 * @param buffer - The buffer to convert
 * @param uppercase - Whether to use uppercase letters (default: false)
 * @param separator - Optional separator between bytes (e.g., ':', ' ', '-')
 * @returns Hexadecimal string representation
 */
export declare function bufferToHex(buffer: Uint8Array, uppercase?: boolean, separator?: string): string;
/**
 * Convert a hexadecimal string to a buffer
 * @param hex - The hexadecimal string to convert
 * @returns Uint8Array representation
 */
export declare function hexToBuffer(hex: string): Uint8Array;
/**
 * Convert a buffer to a binary string
 * @param buffer - The buffer to convert
 * @param separator - Optional separator between bytes (e.g., ' ', '-')
 * @returns Binary string representation
 */
export declare function bufferToBinary(buffer: Uint8Array, separator?: string): string;
/**
 * Convert a binary string to a buffer
 * @param binary - The binary string to convert
 * @returns Uint8Array representation
 */
export declare function binaryToBuffer(binary: string): Uint8Array;
/**
 * Convert a number to binary string with specified bit width
 * @param num - The number to convert
 * @param bits - The number of bits (default: 8)
 * @returns Binary string representation
 */
export declare function numberToBinary(num: number, bits?: number): string;
/**
 * Convert a binary string to a number
 * @param binary - The binary string to convert
 * @returns Number representation
 */
export declare function binaryToNumber(binary: string): number;
/**
 * Convert a buffer to a Base64 string
 * @param buffer - The buffer to convert
 * @param urlSafe - Whether to use URL-safe Base64 (default: false)
 * @returns Base64 string representation
 */
export declare function bufferToBase64(buffer: Uint8Array, urlSafe?: boolean): string;
/**
 * Convert a Base64 string to a buffer
 * @param base64 - The Base64 string to convert
 * @param urlSafe - Whether the input is URL-safe Base64 (default: false)
 * @returns Uint8Array representation
 */
export declare function base64ToBuffer(base64: string, urlSafe?: boolean): Uint8Array;
/**
 * Convert a buffer to a Base58 string (Bitcoin style)
 * @param buffer - The buffer to convert
 * @returns Base58 string representation
 */
export declare function bufferToBase58(buffer: Uint8Array): string;
/**
 * Convert a Base58 string to a buffer
 * @param base58 - The Base58 string to convert
 * @returns Uint8Array representation
 */
export declare function base58ToBuffer(base58: string): Uint8Array;
/**
 * Convert a buffer to a Base32 string (RFC 4648)
 * @param buffer - The buffer to convert
 * @param padding - Whether to include padding (default: true)
 * @returns Base32 string representation
 */
export declare function bufferToBase32(buffer: Uint8Array, padding?: boolean): string;
/**
 * Convert a Base32 string to a buffer
 * @param base32 - The Base32 string to convert
 * @returns Uint8Array representation
 */
export declare function base32ToBuffer(base32: string): Uint8Array;
/**
 * Convert a buffer to an octal string
 * @param buffer - The buffer to convert
 * @param separator - Optional separator between bytes
 * @returns Octal string representation
 */
export declare function bufferToOctal(buffer: Uint8Array, separator?: string): string;
/**
 * Convert an octal string to a buffer
 * @param octal - The octal string to convert
 * @returns Uint8Array representation
 */
export declare function octalToBuffer(octal: string): Uint8Array;
/**
 * Convert a number to octal string
 * @param num - The number to convert
 * @returns Octal string representation
 */
export declare function numberToOctal(num: number): string;
/**
 * Convert an octal string to a number
 * @param octal - The octal string to convert
 * @returns Number representation
 */
export declare function octalToNumber(octal: string): number;
/**
 * Convert a string to a buffer using UTF-8 encoding
 * @param str - The string to convert
 * @returns Uint8Array representation
 */
export declare function stringToBuffer(str: string): Uint8Array;
/**
 * Convert a string directly to hexadecimal representation
 * @param str - The string to convert
 * @param uppercase - Whether to use uppercase letters (default: false)
 * @param separator - Optional separator between bytes
 * @returns Hexadecimal string representation
 */
export declare function stringToHex(str: string, uppercase?: boolean, separator?: string): string;
/**
 * Convert a hexadecimal string back to a string
 * @param hex - The hexadecimal string to convert
 * @returns String representation
 */
export declare function hexToString(hex: string): string;
/**
 * Convert a string directly to Base64 encoding
 * @param str - The string to encode
 * @param urlSafe - Whether to use URL-safe Base64 (default: false)
 * @returns Base64 encoded string
 */
export declare function stringToBase64(str: string, urlSafe?: boolean): string;
/**
 * Convert a Base64 encoded string back to string
 * @param base64 - The Base64 encoded string
 * @param urlSafe - Whether the input is URL-safe Base64 (default: false)
 * @returns Decoded string
 */
export declare function base64ToString(base64: string, urlSafe?: boolean): string;
/**
 * Convert a buffer to a string using UTF-8 decoding
 * @param buffer - The buffer to convert
 * @returns String representation
 */
export declare function bufferToString(buffer: Uint8Array): string;
/**
 * Convert a string to ASCII bytes
 * @param str - The string to convert
 * @returns Uint8Array with ASCII codes
 */
export declare function stringToAscii(str: string): Uint8Array;
/**
 * Convert ASCII bytes to a string
 * @param buffer - The buffer with ASCII codes
 * @returns String representation
 */
export declare function asciiToString(buffer: Uint8Array): string;
/**
 * Convert a string to Base64URL encoding
 * @param str - The string to encode
 * @returns Base64URL encoded string
 */
export declare function stringToBase64Url(str: string): string;
/**
 * Convert a Base64URL encoded string back to string
 * @param base64url - The Base64URL encoded string
 * @returns Decoded string
 */
export declare function base64UrlToString(base64url: string): string;
/**
 * Convert regular Base64 to Base64URL
 * @param base64 - The regular Base64 string
 * @returns Base64URL string
 */
export declare function base64ToBase64Url(base64: string): string;
/**
 * Convert Base64URL to regular Base64
 * @param base64url - The Base64URL string
 * @returns Regular Base64 string
 */
export declare function base64UrlToBase64(base64url: string): string;
/**
 * Convert a buffer to Base64URL encoding
 * @param buffer - The buffer to convert
 * @returns Base64URL encoded string
 */
export declare function bufferToBase64Url(buffer: Uint8Array): string;
/**
 * Convert a Base64URL string to a buffer
 * @param base64url - The Base64URL string to convert
 * @returns Uint8Array representation
 */
export declare function base64UrlToBuffer(base64url: string): Uint8Array;
/**
 * URL encode a string
 * @param str - The string to encode
 * @returns URL encoded string
 */
export declare function urlEncode(str: string): string;
/**
 * URL decode a string
 * @param str - The URL encoded string to decode
 * @returns Decoded string
 */
export declare function urlDecode(str: string): string;
/**
 * Convert a buffer to URL encoded string
 * @param buffer - The buffer to convert
 * @returns URL encoded string
 */
export declare function bufferToUrlEncoded(buffer: Uint8Array): string;
/**
 * Convert a number to any base (2-36)
 * @param num - The number to convert
 * @param base - The target base (2-36)
 * @returns String representation in the specified base
 */
export declare function numberToBase(num: number, base: number): string;
/**
 * Convert a string from any base (2-36) to a number
 * @param str - The string to convert
 * @param base - The base of the input string (2-36)
 * @returns Number representation
 */
export declare function baseToNumber(str: string, base: number): number;
/**
 * Convert between different number bases
 * @param str - The input string
 * @param fromBase - The base of the input string
 * @param toBase - The target base
 * @returns String representation in the target base
 */
export declare function convertBase(str: string, fromBase: number, toBase: number): string;
/**
 * Convert a 16-bit number to bytes (little-endian)
 * @param num - The 16-bit number
 * @returns Uint8Array with 2 bytes
 */
export declare function uint16ToBytes(num: number): Uint8Array;
/**
 * Convert bytes to a 16-bit number (little-endian)
 * @param buffer - The buffer with 2 bytes
 * @returns 16-bit number
 */
export declare function bytesToUint16(buffer: Uint8Array): number;
/**
 * Convert a 32-bit number to bytes (little-endian)
 * @param num - The 32-bit number
 * @returns Uint8Array with 4 bytes
 */
export declare function uint32ToBytes(num: number): Uint8Array;
/**
 * Convert bytes to a 32-bit number (little-endian)
 * @param buffer - The buffer with 4 bytes
 * @returns 32-bit number
 */
export declare function bytesToUint32(buffer: Uint8Array): number;
/**
 * Reverse byte order (swap endianness)
 * @param buffer - The buffer to reverse
 * @returns New buffer with reversed byte order
 */
export declare function reverseBytes(buffer: Uint8Array): Uint8Array;
/**
 * Compare two buffers for equality
 * @param a - First buffer
 * @param b - Second buffer
 * @returns True if buffers are equal
 */
export declare function buffersEqual(a: Uint8Array, b: Uint8Array): boolean;
/**
 * Concatenate multiple buffers
 * @param buffers - Array of buffers to concatenate
 * @returns New buffer containing all input buffers
 */
export declare function concatBuffers(...buffers: Uint8Array[]): Uint8Array;
/**
 * XOR two buffers
 * @param a - First buffer
 * @param b - Second buffer
 * @returns New buffer with XOR result
 */
export declare function xorBuffers(a: Uint8Array, b: Uint8Array): Uint8Array;
/**
 * Generate a random buffer
 * @param length - The length of the buffer
 * @returns Random buffer
 */
export declare function randomBuffer(length: number): Uint8Array;
/**
 * Pad a buffer to a specific length
 * @param buffer - The buffer to pad
 * @param length - The target length
 * @param value - The padding value (default: 0)
 * @param left - Whether to pad on the left (default: false)
 * @returns Padded buffer
 */
export declare function padBuffer(buffer: Uint8Array, length: number, value?: number, left?: boolean): Uint8Array;
/**
 * Split a buffer into chunks
 * @param buffer - The buffer to split
 * @param chunkSize - The size of each chunk
 * @returns Array of buffer chunks
 */
export declare function chunkBuffer(buffer: Uint8Array, chunkSize: number): Uint8Array[];
/**
 * Format bytes as human-readable string
 * @param bytes - The number of bytes
 * @param decimals - Number of decimal places (default: 2)
 * @returns Formatted string (e.g., "1.23 KB")
 */
export declare function formatBytes(bytes: number, decimals?: number): string;
/**
 * Auto-detect encoding format of a string
 * @param str - The string to analyze
 * @returns Detected format or 'unknown'
 */
export declare function detectEncoding(str: string): string;
//# sourceMappingURL=encoding.d.ts.map