import ref from 'ref-napi'; import * as composer from './composer'; export declare type SynapseLibraryFunctionSignature = { name: string; signature: (ref.Type | ref.Type[])[]; preprocessor?: composer.Preprocessor; postprocessor?: composer.Postprocessor; }; export declare type Pointer = ref.Pointer; export declare type SynXBindings = { initiateAsync: SynapseLibraryFunctionSignature; getBufferAsync: SynapseLibraryFunctionSignature; freeBuffer: SynapseLibraryFunctionSignature; authenticateAsync: SynapseLibraryFunctionSignature; sessionResumeAsync: SynapseLibraryFunctionSignature; sessionInfoAsync: SynapseLibraryFunctionSignature; launcherSetup: SynapseLibraryFunctionSignature; launcherRelease: SynapseLibraryFunctionSignature; protectDataAsync: SynapseLibraryFunctionSignature; unprotectDataAsync: SynapseLibraryFunctionSignature; updaterCheckAsync: SynapseLibraryFunctionSignature; statusSiteAsync: SynapseLibraryFunctionSignature; fileNameObfuscation: SynapseLibraryFunctionSignature; changelogGet: SynapseLibraryFunctionSignature; hasSession: SynapseLibraryFunctionSignature; noltGetUri: SynapseLibraryFunctionSignature; apiGetRoot: SynapseLibraryFunctionSignature; }; export declare type SynXFuncs = { [key in keyof SynXBindings]: (...args: unknown[]) => unknown; }; export declare type SynXLib = { funcs: SynXFuncs; synapseDir: string; path: string; }; export declare const synPointer: ref.Type; export declare const synOutBuffer: ref.Type>; export declare const synInBuffer: ref.Type>; export declare function bufferLengthAsync(proxies: SynXFuncs, buffer: Buffer): Promise; export declare function bufferAsync(proxies: SynXFuncs, buffer: Buffer): Promise; export declare function changelogAsync(proxies: SynXFuncs, sessionBuffer: Buffer): Promise; export declare function noltGetURIAsync(proxies: SynXFuncs, sessionBuffer: Buffer): Promise; export declare function obfuscatedFilepathAsync(proxies: SynXFuncs, relativePath: string): Promise; export declare function apiRootAsync(proxies: SynXFuncs): Promise; export declare function preprocessExceptionBuffer(_proxies: SynXFuncs, ...args: Buffer[]): Promise; export declare function exceptionBuffer(proxies: SynXFuncs, returnValue: T, ...args: Buffer[]): Promise; export declare function processExceptionBuffer(proxies: SynXFuncs, returnValue: T, ...originalArgs: Buffer[]): Promise; export declare const SynapseLibraryFunctionSignatures: SynXBindings; /** * Loads the library and returns the proxy object. * @param options Library options. * @returns Proxy object. */ export declare function library(options: { path: string; mode: 'local' | 'remote'; synapsePath: string; }): Promise<{ path: string; synapsePath: string; funcs: { [key: string]: (...args: any[]) => any; }; }>; export declare class Address { /** * @description Address as a bigint. * @readonly * @type {bigint} * @memberof Address */ addr: bigint; /** * @description Creates an instance of Address. * @param {bigint | string} addr Address to convert. Only accepts decimal addresses when passing a string without 0x. * @memberof Address * @example * const addr = new Address(1234567890n); * const addr = new Address('1234567890'); * const addr = new Address('0x1234567890'); */ constructor(addr: bigint | string); } /** * @description Converts an address to an Address object. * @param addr Address to convert. Only accepts decimal addresses when passing a string without 0x. * @returns Address object. */ export declare function address(addr: Address | Buffer | string): Address;