import type { HttpClient } from "../core/http.js"; import type { OneclawResponse, ImportKeyRequest } from "../types.js"; export interface GenerateTreasuryWalletsRequest { chains?: string[]; } export interface TreasuryWalletResponse { id: string; chain: string; curve: string; public_key_hex: string; address: string; is_active: boolean; created_at: string; } export interface TreasuryWalletListResponse { wallets: TreasuryWalletResponse[]; } export interface TreasuryWalletExportResponse { chain: string; address: string; private_key_hex: string; } export interface TreasuryWalletBalanceResponse { chain: string; address: string; native_balance: string; native_symbol: string; tokens?: TokenBalance[]; } export interface TokenBalance { contract: string; symbol: string; balance: string; decimals: number; } export interface SendFromWalletRequest { to: string; amount: string; token_contract?: string; gasless?: boolean; token_mint?: string; memo?: string; destination_tag?: number; fee_rate_sat_per_vbyte?: number; xrpl_tx_json?: Record; fee_limit_sun?: number; token_decimals?: number; ttl?: number; } export interface SendFromWalletResponse { tx_hash: string; from: string; to: string; amount: string; chain: string; status: string; user_op_hash?: string; } export interface SwapFromWalletRequest { sell_token: string; buy_token: string; sell_amount: string; slippage_percentage?: string; } export interface SwapFromWalletResponse { tx_hash: string; sell_token: string; buy_token: string; sell_amount: string; buy_amount: string; chain: string; } export interface SpendPolicyResponse { to_allowlist?: string[]; to_denylist?: string[]; max_value_per_tx_eth?: string; daily_limit_eth?: string; allowed_chains?: string[]; allowed_tokens?: string[]; max_transactions_per_day?: number; source: string; } /** * Treasury wallets — multi-chain wallet generation for human users. * Replaces CDP embedded wallets. Private keys are stored in a per-org * `__treasury-keys` vault with tier-appropriate MPC custody. * * Human users only — agents receive 403. */ export declare class TreasuryWalletsResource { private readonly http; constructor(http: HttpClient); generateWallets(body?: GenerateTreasuryWalletsRequest): Promise>; listWallets(): Promise>; getWallet(chain: string): Promise>; /** * Export wallet private key. Requires re-authentication via password. * @param chain - Chain name (e.g. "ethereum", "solana") * @param password - Account password for re-authentication */ exportWallet(chain: string, password: string): Promise>; rotateWallet(chain: string): Promise>; deactivateWallet(chain: string): Promise>; getWalletBalance(chain: string, tokens?: string[]): Promise>; /** * Send native currency or ERC-20 tokens. Requires re-authentication. * @param chain - Chain name (e.g. "ethereum") * @param body - Send parameters (to, amount, optional token_contract) * @param password - Account password for re-authentication */ sendFromWallet(chain: string, body: SendFromWalletRequest, password: string): Promise>; /** * Swap tokens via DEX aggregator. Requires re-authentication. * @param chain - Chain name (e.g. "ethereum") * @param body - Swap parameters (sell_token, buy_token, sell_amount) * @param password - Account password for re-authentication */ swapFromWallet(chain: string, body: SwapFromWalletRequest, password: string): Promise>; /** Get the effective spend policy for the current user's wallets. */ getEffectiveSpendPolicy(): Promise>; /** Get effective human factor auth policy for embedded wallet clients. */ getAuthPolicy(): Promise; source: string; registered_passkeys: number; }>>; /** Get remaining LLM inference allowance for platform-connected users. */ getInferenceBudget(): Promise>>; /** Import an existing private key as a treasury wallet. Requires re-authentication via password. */ importWallet(chain: string, body: ImportKeyRequest, password: string): Promise>; } //# sourceMappingURL=treasury-wallets.d.ts.map