/** * Factory for creating a full ledger client with encrypted messaging * @module core */ import { FullLedger } from '../typings/ledgerClientTypes'; import { LedgerSettings } from './ledgerClientFactory'; /** * Creates a full ledger client with encrypted messaging support * * This client includes all operations, including encrypted messaging which requires * the Pako compression library. Only use this if you specifically need encrypted messaging. * For most applications, use {@link createClient} instead. * * Dependencies: crypto/sign + crypto/encryption (with Pako compression) * Bundle size: ~170-180 KB (including Pako) * * Use this for: Messaging applications, private communication tools * * @param settings The ledger settings * @returns A full ledger client with encrypted messaging * * @example * ```typescript * import {createClientWithEncryptedMessaging} from '@signumjs/core/createClientWithEncryptedMessaging'; * * const ledger = createClientWithEncryptedMessaging({ * nodeHost: 'https://europe.signum.network' * }); * * // All standard operations available * const account = await ledger.account.getAccount({accountId: '12345'}); * * // Plus encrypted messaging * await ledger.message.sendEncryptedMessage({ * message: 'Secret message', * recipientId: '12345', * recipientPublicKey: 'recipient-public-key', * senderPublicKey: 'your-public-key', * senderAgreementKey: 'your-agreement-key' * }); * ``` */ export declare function createClientWithEncryptedMessaging(settings: LedgerSettings): FullLedger;