import * as Pay from '@filoz/synapse-core/pay'; import { type Account, type Address, type Chain, type Client, type Hash, type TransactionReceipt, type Transport } from 'viem'; import type { FundOptions, RailInfo, SettlementResult, TokenAmount, TokenIdentifier } from '../types.ts'; export interface DepositOptions { to?: Address; amount: TokenAmount; token?: TokenIdentifier; onAllowanceCheck?: (current: bigint, required: bigint) => void; onApprovalTransaction?: (tx: Hash) => void; onApprovalConfirmed?: (receipt: TransactionReceipt) => void; onDepositStarting?: () => void; } export declare class PaymentsService { private readonly _client; constructor(options: { client: Client; }); static create(options: { transport?: Transport; chain?: Chain; account: Account; }): PaymentsService; balance(options?: { token?: TokenIdentifier; }): Promise; accountInfo(options?: { token?: TokenIdentifier; }): Promise; walletBalance(options?: { token?: TokenIdentifier; }): Promise; decimals(): number; allowance(options: { spender: Address; token?: TokenIdentifier; }): Promise; approve(options: { spender: Address; amount: TokenAmount; token?: TokenIdentifier; }): Promise; approveService(options?: { service?: Address; rateAllowance?: TokenAmount; lockupAllowance?: TokenAmount; maxLockupPeriod?: TokenAmount; token?: TokenIdentifier; }): Promise; revokeService(options?: { service?: Address; token?: TokenIdentifier; }): Promise; serviceApproval(options?: { service?: Address; token?: TokenIdentifier; }): Promise; deposit(options: DepositOptions): Promise; depositWithPermit(options: { amount: TokenAmount; token?: TokenIdentifier; deadline?: bigint; }): Promise; depositWithPermitAndApproveOperator(options: { amount: TokenAmount; operator?: Address; rateAllowance?: TokenAmount; lockupAllowance?: TokenAmount; maxLockupPeriod?: bigint; deadline?: bigint; token?: TokenIdentifier; }): Promise; fund(options: FundOptions): Promise; fundSync(options: Pay.fundSync.OptionsType): Promise; withdraw(options: { amount: TokenAmount; token?: TokenIdentifier; }): Promise; settle(options: { railId: bigint; untilEpoch?: bigint; }): Promise; getSettlementAmounts(options: { railId: bigint; untilEpoch?: bigint; }): Promise; settleTerminatedRail(options: { railId: bigint; }): Promise; getRail(options: { railId: bigint; }): Promise; settleAuto(options: { railId: bigint; untilEpoch?: bigint; }): Promise; accountSummary(options?: { token?: TokenIdentifier; epoch?: bigint; }): Promise; totalAccountFixedLockup(options?: { token?: TokenIdentifier; }): Promise; getRailsAsPayer(options?: { token?: TokenIdentifier; }): Promise; getRailsAsPayee(options?: { token?: TokenIdentifier; }): Promise; } //# sourceMappingURL=service.d.ts.map