import { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON } from '@simplewebauthn/browser'; import { AxiosRequestConfig } from 'axios'; import { DLTProtocolEnum, ContractDefinitionServices, TransactionDecoded, TransactionSigner, DLTInfo } from '@framework/wallet-custody-domain/bin/blockchain.js'; export { ContractDefinitionGeneric, ContractDefinitionServices, DLTInfo, DLTProtocolEnum, TransactionDecoded, TransactionSigner, WalletDLT, WalletNonces } from '@framework/wallet-custody-domain/bin/blockchain.js'; import { TxMonitorServices, WalletCustodyApi, AttributeValueType, WalletPublicInfo, WalletAuthenticationActivity } from '@framework/wallet-custody-domain/bin/wallet-custody.js'; export { TxMonitorRecord, TxMonitorServices } from '@framework/wallet-custody-domain/bin/wallet-custody.js'; import { TransactionRuleEngineTesting, TransactionRuleEngineRepo, RuleSerializable } from '@framework/wallet-custody-domain/bin/rule-engine.js'; export { RuleSerializable, TransactionRuleEngineRepo, TransactionRuleEngineTesting } from '@framework/wallet-custody-domain/bin/rule-engine.js'; declare class MonitoringServicesApi implements TransactionRuleEngineTesting, TransactionRuleEngineRepo { protected baseUrl: string; protected chain: DLTProtocolEnum; private http; constructor(baseUrl: string, chain: DLTProtocolEnum); getDefinitionServices(chain: DLTProtocolEnum): ContractDefinitionServices; getTxMonitorServices(chain: DLTProtocolEnum): TxMonitorServices; test(chain: DLTProtocolEnum, rules: RuleSerializable[], transaction: TransactionDecoded): Promise; load(chain: DLTProtocolEnum): Promise; save(chain: DLTProtocolEnum, rule: RuleSerializable): Promise; get(chain: DLTProtocolEnum, name: string): Promise; delete(chain: DLTProtocolEnum, name: string): Promise; } interface Lockable { unlock(): Promise; get locked(): boolean; } type CustodyAuthenticatorFunction = (address: string, api: WalletCustodyApi) => Promise; declare class WalletCustodyApiImpl implements WalletCustodyApi { protected baseUrl: string; protected chain: DLTProtocolEnum; private http; constructor(baseUrl: string, chain: DLTProtocolEnum, httpAgents?: Pick); getSigner(address: string, auth: string | CustodyAuthenticatorFunction): TransactionSigner; get protocol(): DLTProtocolEnum; newWallet(password: string, backupAddress?: string): Promise; newWebauthnWalletWithAttributes(attributes: Record, backupAddress?: string): Promise; registerWebauthn(address: string, authenticator: RegistrationResponseJSON): Promise; newWalletWithAttributes(password: string, attributes: Record, backupAddress?: string): Promise; publicInfo(address: string): Promise; findByAttribute(attribute: string, value: T): Promise; private createTokenFromWebauthn; authenticate(address: string, password: string, activities?: WalletAuthenticationActivity[]): Promise; sign(address: string, token: string, rawTx: string, dltInfo: DLTInfo): Promise; delete(address: string, token: string): Promise; updatePassword(address: string, newPassword: string, token: string): Promise; updateAttributes(address: string, updated: Record, deleted: string[], token: string): Promise; } export { type CustodyAuthenticatorFunction, type Lockable, MonitoringServicesApi, WalletCustodyApiImpl };