import type { KeyPairHex } from 'sm-crypto'; import type { OnOpenHandler, WsHandler } from './wssocket'; interface ResponseData { action: string; responseID?: string; status: true | false | string; result?: unknown; data: string; [K: string]: unknown; } export declare class WsClient { private readonly sm2Key; private readonly wssocket; private readonly promiseCallbackPairs; private readonly sessionPromise; private sessionResolve; private readonly loginPromise; private loginResolve; constructor(url: string, onopen: OnOpenHandler, handler: WsHandler, sm2Key?: KeyPairHex); status(): WebSocket['CLOSED' | 'CLOSING' | 'CONNECTING' | 'OPEN']; sessionReceived(): Promise; login(): Promise; loggedIn(): Promise; matchCID(contractID: string): Promise; getMetabyCID(contractID: string): Promise; getMetabyReadme(keyword: string, page?: string, pageSize?: string): Promise; getMetabyPubkey(pubkey: string): Promise; segmentWord(words: string): Promise; getMetabyOwner(owner: string, page?: string, pageSize?: string): Promise; getDependentContract(contractName: string): Promise; queryContractLogByDate(start: number): Promise; queryDataByHash(hash: string): Promise; executeContract(contractID: string, method: string, arg: unknown): Promise; getSessionID(): Promise; listTheContractProcess(contractID: string): Promise; getMask(contractID: string): Promise; setMask(contractID: string, operation: string, arg: string): Promise; getMock(contractID: string): Promise; setMock(contractID: string, operation: string, arg: string): Promise; queryHashByOffset(offset: number, count: number): Promise; loadNodeConfig(): Promise; queryUserStat(): Promise; listNodes(): Promise; killContractProcess(id: string): Promise; distributeYPK(projectName: string, nodeIDs: string): Promise; listYPKs(): Promise; deleteFile(file: string): Promise; startContractByYPK(project: string): Promise; initBDServer(host: string, username: string, password: string, name: string, clusterHost: string): Promise; initBDCluster(host: string, username: string, password: string, name: string, sm2Key: string, agents: []): Promise; listCompiledFiles(): Promise; getManagerPubkey(): Promise; getClusterName(): Promise; setClusterName(name: string): Promise; } export {};