import type { DualKeyAccount } from '../accounts/types.mjs'; import type { TransportConfig } from '../transports/types.mjs'; export type CreateLocusWalletClientArgs = { /** JSON-RPC 엔드포인트 URL. */ rpcUrl: string; /** 트랜잭션 서명에 쓰는 account. `keysToAccount` / `toAccount` 로 만든다. */ account: DualKeyAccount; /** * 선택적 HTTP 트랜스포트 설정. 로드밸런서 힌트 (예: Locus `locuslb` 헤더) * 같은 용도로 `headers` 를 넘길 수 있다. `http()` 의 모든 옵션을 그대로 받는다. */ transport?: TransportConfig; }; /** * Locus write 클라이언트의 one-call 생성자. * * bare {@link createWalletClient} 를 HTTP 트랜스포트와 함께 감싸고, 두 표준 * write 액션 셋 (`walletActions` + `debugWalletActions`) 을 단일 `.extend()` * 호출로 합쳐 부착한다. 반환된 클라이언트는 두 셋 모두 정적 타입이 잡힌 * 상태로 노출된다. * * 생성 이후엔 모든 write RPC (`transferCoin`, `openAccount`, `changeKey`, * `closeAccount`, `callContract`, `debug_createContract`, ...) 가 타입이 * 잡힌 메서드로 호출 가능. 각 호출은 내부적으로 prepare → sign → submit * 파이프라인을 한 번에 돌리며, master/normal 키 라우팅은 `txKeyPolicy` 와 * 바인드된 `account` 의 `KeySource` 슬롯이 결정한다. * * 읽기 전용 RPC 는 {@link createLocusPublicClient} 참고. */ export declare function createLocusWalletClient(args: CreateLocusWalletClientArgs): import("./types.mjs").Client & { readonly callContract: (param: import("../index.mjs").ParamsCallVme) => Promise; readonly callVme: (param: import("../index.mjs").ParamsCallVme) => Promise; readonly createContract: (param: import("../index.mjs").ParamsCreateContract) => Promise; readonly createSynthAccount: (param: import("../index.mjs").ParamsCreateSynthAccount) => Promise; readonly postDataToSynthAccount: (param: import("../index.mjs").ParamsPostDataToSynthAccount) => Promise; readonly directCall: (param: Omit) => Promise; readonly acceptScript: (params: import("../index.mjs").ParamsAcceptScript) => Promise; readonly becomeGuest: (param: import("../index.mjs").ParamsBecomeGuest) => Promise; readonly becomeHost: (param: import("../index.mjs").ParamsBecomeHost) => Promise; readonly changeKey: (params: import("../index.mjs").ParamsChangeKey) => Promise; readonly changeVkey: (params: import("../index.mjs").ParamsChangeVKey) => Promise; readonly closeAccount: (param: import("../index.mjs").ParamsCloseAccount) => Promise; readonly createAssetObject: (param: import("../index.mjs").ParamsCreateAssetObject) => Promise; readonly createToken: (param: import("../index.mjs").ParamsCreateToken) => Promise; readonly createVme: (param: import("../index.mjs").ParamsCreateVme) => Promise; readonly forwardAssetObject: (params: import("../index.mjs").ParamsForwardAssetObject) => Promise; readonly forwardCoin: (param: import("../index.mjs").ParamsForwardCoin) => Promise; readonly forwardToken: (params: import("../index.mjs").ParamsForwardToken) => Promise; readonly freezeAccount: (params: import("../index.mjs").ParamsFreezeAccount) => Promise; readonly lockStake: (params: import("../index.mjs").ParamsLockStake) => Promise; readonly openAccount: (param: import("../index.mjs").ParamsOpenAccount) => Promise; readonly postData: (params: import("../index.mjs").InputParamsDataTransfer) => Promise; readonly provideScript: (params: import("../index.mjs").ParamsProvideScript) => Promise; readonly requestDataTrade: (params: import("../index.mjs").ParamsRequestDataTrade) => Promise; readonly transfer: (params: import("../index.mjs").ParamsTransfer) => Promise; readonly transferAllRes: (params: import("../index.mjs").ParamsTransferAllRes) => Promise; readonly transferAssetObject: (params: import("../index.mjs").ParamsTransferAssetObject) => Promise; readonly transferCoin: (param: import("../index.mjs").ParamsTransferCoin) => Promise; readonly transferToken: (params: import("../index.mjs").ParamsTransferTokens) => Promise; readonly unlockStake: (params: import("../index.mjs").ParamsUnlockStake) => Promise; }; /** 추론된 반환 타입 — 이 클라이언트를 담는 필드/변수의 타입 선언에 사용. */ export type LocusWalletClient = ReturnType;