import type { DualKeyAccount } from '../accounts/types.cjs'; import type { TransportConfig } from '../transports/types.cjs'; 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.cjs").Client & { readonly callContract: (param: import("../index.cjs").ParamsCallVme) => Promise; readonly callVme: (param: import("../index.cjs").ParamsCallVme) => Promise; readonly createContract: (param: import("../index.cjs").ParamsCreateContract) => Promise; readonly createSynthAccount: (param: import("../index.cjs").ParamsCreateSynthAccount) => Promise; readonly postDataToSynthAccount: (param: import("../index.cjs").ParamsPostDataToSynthAccount) => Promise; readonly directCall: (param: Omit) => Promise; readonly acceptScript: (params: import("../index.cjs").ParamsAcceptScript) => Promise; readonly becomeGuest: (param: import("../index.cjs").ParamsBecomeGuest) => Promise; readonly becomeHost: (param: import("../index.cjs").ParamsBecomeHost) => Promise; readonly changeKey: (params: import("../index.cjs").ParamsChangeKey) => Promise; readonly changeVkey: (params: import("../index.cjs").ParamsChangeVKey) => Promise; readonly closeAccount: (param: import("../index.cjs").ParamsCloseAccount) => Promise; readonly createAssetObject: (param: import("../index.cjs").ParamsCreateAssetObject) => Promise; readonly createToken: (param: import("../index.cjs").ParamsCreateToken) => Promise; readonly createVme: (param: import("../index.cjs").ParamsCreateVme) => Promise; readonly forwardAssetObject: (params: import("../index.cjs").ParamsForwardAssetObject) => Promise; readonly forwardCoin: (param: import("../index.cjs").ParamsForwardCoin) => Promise; readonly forwardToken: (params: import("../index.cjs").ParamsForwardToken) => Promise; readonly freezeAccount: (params: import("../index.cjs").ParamsFreezeAccount) => Promise; readonly lockStake: (params: import("../index.cjs").ParamsLockStake) => Promise; readonly openAccount: (param: import("../index.cjs").ParamsOpenAccount) => Promise; readonly postData: (params: import("../index.cjs").InputParamsDataTransfer) => Promise; readonly provideScript: (params: import("../index.cjs").ParamsProvideScript) => Promise; readonly requestDataTrade: (params: import("../index.cjs").ParamsRequestDataTrade) => Promise; readonly transfer: (params: import("../index.cjs").ParamsTransfer) => Promise; readonly transferAllRes: (params: import("../index.cjs").ParamsTransferAllRes) => Promise; readonly transferAssetObject: (params: import("../index.cjs").ParamsTransferAssetObject) => Promise; readonly transferCoin: (param: import("../index.cjs").ParamsTransferCoin) => Promise; readonly transferToken: (params: import("../index.cjs").ParamsTransferTokens) => Promise; readonly unlockStake: (params: import("../index.cjs").ParamsUnlockStake) => Promise; }; /** 추론된 반환 타입 — 이 클라이언트를 담는 필드/변수의 타입 선언에 사용. */ export type LocusWalletClient = ReturnType;