import { type AxiosRequestConfig } from 'axios'; import type { KeyPairHex } from 'sm-crypto'; import type { ClientResponse, ConfigNodeArgs, ExecuteContractArgs, ListAllUsersResponseData, ListNodesResponse, ListProjectPermissionRequest, ListProjectPermissionResponseData, LoadNodeConfigResponseData, ExecuteContractResponse, PingResponse, SaveFileRequest, StartContractByYpkRequest } from './types'; export * from './types'; export declare class HttpClient { private baseUrl; private sm2Key; private fetch; constructor(baseUrl: string, sm2Key: KeyPairHex, config?: AxiosRequestConfig); requestWithSignature(path: string, init?: Partial, sm2Key?: KeyPairHex): Promise>; retryRequestWithSignature(retryTimes: number, path: string, init?: Partial, sm2Key?: KeyPairHex): Promise>; sign(data: string, privateKey?: string): string; ping(): Promise; startContract(code: string): Promise>; startContractByYPK(_request: StartContractByYpkRequest): Promise>; executeContract(contractID: string, operation: string, arg: string, { method, withDynamicAnalysis, withSignature, }?: ExecuteContractArgs): Promise>>; killContractProcess(contractID: string, requestID?: string): Promise>; killAllContract(): Promise>; applyNodeRole(role: string): Promise>; authNodeRole(isAccept: boolean, authorizedPubKey: string, managerPair?: KeyPairHex): Promise>; distributeContract(nodeIDs: string, projectName: string, isPrivate: boolean): void; saveFile(_request: SaveFileRequest): Promise>; listProjectPermission(_request: ListProjectPermissionRequest): Promise>; startContractMultiPoint(peersID: string, type: number, selectUnitNum: number, projectName: string, isPrivate: boolean, sponsorPeerID: string): Promise>; loadNodeConfig(): Promise>; updateConfig(key: string, val: string): Promise>; resetNodeManager(): Promise; lockEdit(): Promise>; unlockEdit(): Promise>; addNode(nodePubKey: string): Promise>; applyRole(role: string): Promise>; authNodeManager(isAccept: boolean, authorizedPubKey: string): Promise>; listAllUsers(): Promise>; listNodes(): Promise; createTrustUnit(data: { nodeName: string; pubkey: string; }[], Msg: string): Promise<{ action: string; status: string; }>; listTrustUnits(): Promise>; listContractProcess(): Promise>; downloadContract(projectName: string, isPrivate: boolean, timestamp: number): Promise>; configNode(args: ConfigNodeArgs): Promise; }