import { type _NSData } from "./Foundation/index.js";
/**
 * Create NSData from a JavaScript Buffer
 * @param buffer The Buffer object
 * @returns An NSData object
 */
export declare function NSDataFromBuffer(buffer: Buffer): _NSData;
/**
 * Convert NSData to a JavaScript Buffer using base64 encoding
 * This is the most reliable method for data conversion.
 * @param data The NSData object
 * @returns A Buffer containing the data
 */
export declare function bufferFromNSData(data: _NSData): Buffer;
/**
 * Convert NSData to a JavaScript Buffer using direct memory copy
 * This method uses getBytes:length: for direct memory access.
 * May be more efficient for large data, but requires proper buffer allocation.
 * @param data The NSData object
 * @returns A Buffer containing the data
 */
export declare function bufferFromNSDataDirect(data: _NSData): Buffer;
/**
 * Convert NSData to a JavaScript Uint8Array
 * @param data The NSData object
 * @returns A Uint8Array containing the data
 */
export declare function uint8ArrayFromNSData(data: _NSData): Uint8Array;
/**
 * Convert NSData to a base64 string
 * @param data The NSData object
 * @returns A base64-encoded string
 */
export declare function base64FromNSData(data: _NSData): string;
/**
 * Create NSData from a base64 string
 * @param base64String The base64-encoded string
 * @returns An NSData object
 */
export declare function NSDataFromBase64(base64String: string): _NSData;
/**
 * Get the length of NSData
 * @param data The NSData object
 * @returns The length in bytes
 */
export declare function NSDataLength(data: _NSData): number;
