import type { ClientOptions, Policy, SubmitOptions, TransactionStatus } from "../types"; import { BaseClient } from "./BaseClient"; /** * Client for /1sat/arcade/* routes. * Provides transaction broadcast and status checking. * * Routes: * - POST /tx - Submit single transaction * - POST /txs - Submit multiple transactions * - GET /tx/:txid - Get transaction status * - GET /policy - Get mining policy * - GET /events - SSE stream of transaction events */ export declare class ArcadeClient extends BaseClient { constructor(baseUrl: string, options?: ClientOptions); /** * Submit a single transaction for broadcast */ submitTransaction(rawTx: number[] | Uint8Array, options?: SubmitOptions): Promise; /** * Submit a transaction as hex string */ submitTransactionHex(rawTxHex: string, options?: SubmitOptions): Promise; /** * Submit multiple transactions for broadcast */ submitTransactions(rawTxs: (number[] | Uint8Array)[], options?: SubmitOptions): Promise; /** * Get status of a submitted transaction */ getStatus(txid: string): Promise; /** * Get current mining policy */ getPolicy(): Promise; /** * Subscribe to transaction status events via SSE * Returns unsubscribe function */ subscribeEvents(callback: (status: TransactionStatus) => void, callbackToken?: string): () => void; /** * Build headers for submit requests */ private buildSubmitHeaders; }