/** * @packageDocumentation * @module API-ThresholdVM */ import LuxCore from "../../lux"; import { JRPCAPI } from "../../common/jrpcapi"; import { KeygenParams, KeygenResult, KeygenStatusParams, SignParams, SignResult, GetSignatureParams, SignatureResult, BatchSignParams, ReshareParams, RefreshParams, ThresholdKey, ProtocolInfo, Session, SessionsParams, ThresholdInfo, ThresholdStats, PartyInfo, QuotaInfo, ChainPermission, ThresholdHealthResponse } from "./interfaces"; /** * Class for interacting with the T-Chain (Threshold Chain) ThresholdVM API. * * @category RPCAPIs * * @remarks This extends the [[JRPCAPI]] class. This class should not be directly called. * Instead, use the [[Lux.addAPI]] function to register this interface with Lux. */ export declare class ThresholdVMAPI extends JRPCAPI { /** * Initiate distributed key generation. */ keygen: (params: KeygenParams) => Promise; /** * Get status of a keygen session. */ getKeygenStatus: (params: KeygenStatusParams) => Promise; /** * Request a threshold signature. */ sign: (params: SignParams) => Promise; /** * Get the result of a signing session. */ getSignature: (params: GetSignatureParams) => Promise; /** * Request threshold signatures for multiple messages. */ batchSign: (params: BatchSignParams) => Promise; /** * Reshare key with new threshold or party count. */ reshare: (params: ReshareParams) => Promise; /** * Refresh key shares without changing the public key. */ refresh: (params: RefreshParams) => Promise; /** * List all threshold keys. */ listKeys: () => Promise; /** * Get a threshold key by ID. */ getKey: (keyId: string) => Promise; /** * Get the public key for a threshold key. */ getPublicKey: (keyId: string) => Promise; /** * Get the derived address for a threshold key. */ getAddress: (keyId: string) => Promise; /** * List supported threshold signature protocols. */ getProtocols: () => Promise; /** * Get detailed info about a specific protocol. */ getProtocolInfo: (protocol: string) => Promise; /** * Get active signing and keygen sessions. */ getSessions: (params?: SessionsParams) => Promise; /** * Cancel an active session. */ cancelSession: (sessionId: string) => Promise; /** * Get threshold VM node info. */ getInfo: () => Promise; /** * Get threshold VM statistics. */ getStats: () => Promise; /** * Get connected party info. */ getParties: () => Promise; /** * Get signing quota info. */ getQuota: () => Promise; /** * Get list of chains authorized for threshold signing. */ getAuthorizedChains: () => Promise; /** * Get per-chain signing permissions. */ getChainPermissions: () => Promise; /** * Health check. */ health: () => Promise; constructor(core: LuxCore, baseURL?: string); } //# sourceMappingURL=api.d.ts.map