import type { ChequebookAddressResponse, ChequebookBalanceResponse, LastCashoutActionResponse, LastChequesForPeerResponse, LastChequesResponse, NumberString, Ky, CashoutOptions, TransactionHash } from '../../types';
/**
 * Get the address of the chequebook contract used
 *
 * @param ky Ky debug instance
 */
export declare function getChequebookAddress(ky: Ky): Promise<ChequebookAddressResponse>;
/**
 * Get the balance of the chequebook
 *
 * @param ky Ky debug instance
 */
export declare function getChequebookBalance(ky: Ky): Promise<ChequebookBalanceResponse>;
/**
 * Get last cashout action for the peer
 *
 * @param ky Ky debug instance
 * @param peer  Swarm address of peer
 */
export declare function getLastCashoutAction(ky: Ky, peer: string): Promise<LastCashoutActionResponse>;
/**
 * Cashout the last cheque for the peer
 *
 * @param ky Ky debug instance
 * @param peer  Swarm address of peer
 * @param options
 */
export declare function cashoutLastCheque(ky: Ky, peer: string, options?: CashoutOptions): Promise<TransactionHash>;
/**
 * Get last cheques for the peer
 *
 * @param ky Ky debug instance
 * @param peer  Swarm address of peer
 */
export declare function getLastChequesForPeer(ky: Ky, peer: string): Promise<LastChequesForPeerResponse>;
/**
 * Get last cheques for all peers
 *
 * @param ky Ky debug instance
 */
export declare function getLastCheques(ky: Ky): Promise<LastChequesResponse>;
/**
 * Deposit tokens from overlay address into chequebook
 *
 * @param ky Ky debug instance
 * @param amount   Amount of tokens to deposit
 * @param gasPrice Gas Price in WEI for the transaction call
 * @return string  Hash of the transaction
 */
export declare function depositTokens(ky: Ky, amount: number | NumberString, gasPrice?: NumberString): Promise<TransactionHash>;
/**
 * Withdraw tokens from the chequebook to the overlay address
 *
 * @param ky Ky debug instance
 * @param amount   Amount of tokens to withdraw
 * @param gasPrice Gas Price in WEI for the transaction call
 * @return string  Hash of the transaction
 */
export declare function withdrawTokens(ky: Ky, amount: number | NumberString, gasPrice?: NumberString): Promise<TransactionHash>;
