import type { Connection, PublicKey } from "@solana/web3.js"; import type { LightconeHttp } from "./http"; import type { DepositSource } from "./shared"; import type { SigningStrategy } from "./shared/signing"; import { type RpcFailoverState } from "./rpcFailover"; export interface ClientContext { readonly http: LightconeHttp; readonly programId: PublicKey; readonly primaryConnection?: Connection; readonly backupConnection?: Connection; readonly rpcFailoverState: RpcFailoverState; readonly depositSource: DepositSource; readonly signingStrategy?: SigningStrategy; orderNonce?(): number | undefined; setOrderNonce?(nonce: number): void; /** @deprecated Use primaryConnection — kept for backward compat in domain sub-clients. */ readonly connection?: Connection; } export declare function requireConnection(ctx: ClientContext): Connection; export declare function connectionWithFailover(ctx: ClientContext, operation: (conn: Connection) => Promise): Promise; export declare function resolveDepositSource(ctx: ClientContext, overrideSource: DepositSource | undefined): DepositSource; export declare function requireSigningStrategy(ctx: ClientContext): SigningStrategy; export declare function signAndSubmitTx(ctx: ClientContext, tx: import("@solana/web3.js").Transaction): Promise; //# sourceMappingURL=context.d.ts.map