///
import { EventEmitter } from 'events';
import { AccountChannelsRequest, AccountChannelsResponse, AccountCurrenciesRequest, AccountCurrenciesResponse, AccountInfoRequest, AccountInfoResponse, AccountLinesRequest, AccountLinesResponse, AccountNFTsRequest, AccountNFTsResponse, AccountObjectsRequest, AccountObjectsResponse, AccountOffersRequest, AccountOffersResponse, AccountTxRequest, AccountTxResponse, GatewayBalancesRequest, GatewayBalancesResponse, NoRippleCheckRequest, NoRippleCheckResponse, LedgerRequest, LedgerResponse, LedgerClosedRequest, LedgerClosedResponse, LedgerCurrentRequest, LedgerCurrentResponse, LedgerDataRequest, LedgerDataResponse, LedgerEntryRequest, LedgerEntryResponse, SubmitRequest, SubmitResponse, SubmitMultisignedRequest, SubmitMultisignedResponse, TransactionEntryRequest, TransactionEntryResponse, TxRequest, TxResponse, BookOffersRequest, BookOffersResponse, DepositAuthorizedRequest, DepositAuthorizedResponse, PathFindRequest, PathFindResponse, RipplePathFindRequest, RipplePathFindResponse, ChannelVerifyRequest, ChannelVerifyResponse, FeeRequest, FeeResponse, ManifestRequest, ManifestResponse, ServerInfoRequest, ServerInfoResponse, ServerStateRequest, ServerStateResponse, PingRequest, PingResponse, RandomRequest, RandomResponse, LedgerStream, ValidationStream, TransactionStream, PathFindStream, PeerStatusStream, ConsensusStream, SubscribeRequest, SubscribeResponse, UnsubscribeRequest, UnsubscribeResponse, NFTBuyOffersRequest, NFTBuyOffersResponse, NFTSellOffersRequest, NFTSellOffersResponse } from '../models/methods';
import { BaseRequest, BaseResponse } from '../models/methods/baseMethod';
import { autofill, getLedgerIndex, getOrderbook, getBalances, getXrpBalance, submit, submitAndWait } from '../sugar';
import fundWallet from '../Wallet/fundWallet';
import { Connection, ConnectionUserOptions } from './connection';
export interface ClientOptions extends ConnectionUserOptions {
feeCushion?: number;
maxFeeXRP?: string;
proxy?: string;
timeout?: number;
}
declare class Client extends EventEmitter {
readonly connection: Connection;
readonly feeCushion: number;
readonly maxFeeXRP: string;
constructor(server: string, options?: ClientOptions);
get url(): string;
request(r: AccountChannelsRequest): Promise;
request(r: AccountCurrenciesRequest): Promise;
request(r: AccountInfoRequest): Promise;
request(r: AccountLinesRequest): Promise;
request(r: AccountNFTsRequest): Promise;
request(r: AccountObjectsRequest): Promise;
request(r: AccountOffersRequest): Promise;
request(r: AccountTxRequest): Promise;
request(r: BookOffersRequest): Promise;
request(r: ChannelVerifyRequest): Promise;
request(r: DepositAuthorizedRequest): Promise;
request(r: FeeRequest): Promise;
request(r: GatewayBalancesRequest): Promise;
request(r: LedgerRequest): Promise;
request(r: LedgerClosedRequest): Promise;
request(r: LedgerCurrentRequest): Promise;
request(r: LedgerDataRequest): Promise;
request(r: LedgerEntryRequest): Promise;
request(r: ManifestRequest): Promise;
request(r: NFTBuyOffersRequest): Promise;
request(r: NFTSellOffersRequest): Promise;
request(r: NoRippleCheckRequest): Promise;
request(r: PathFindRequest): Promise;
request(r: PingRequest): Promise;
request(r: RandomRequest): Promise;
request(r: RipplePathFindRequest): Promise;
request(r: ServerInfoRequest): Promise;
request(r: ServerStateRequest): Promise;
request(r: SubmitRequest): Promise;
request(r: SubmitMultisignedRequest): Promise;
request(r: SubscribeRequest): Promise;
request(r: UnsubscribeRequest): Promise;
request(r: TransactionEntryRequest): Promise;
request(r: TxRequest): Promise;
request(r: R): Promise;
requestNextPage(req: AccountChannelsRequest, resp: AccountChannelsResponse): Promise;
requestNextPage(req: AccountLinesRequest, resp: AccountLinesResponse): Promise;
requestNextPage(req: AccountObjectsRequest, resp: AccountObjectsResponse): Promise;
requestNextPage(req: AccountOffersRequest, resp: AccountOffersResponse): Promise;
requestNextPage(req: AccountTxRequest, resp: AccountTxResponse): Promise;
requestNextPage(req: LedgerDataRequest, resp: LedgerDataResponse): Promise;
on(event: 'connected', listener: () => void): this;
on(event: 'disconnected', listener: (code: number) => void): this;
on(event: 'ledgerClosed', listener: (ledger: LedgerStream) => void): this;
on(event: 'validationReceived', listener: (validation: ValidationStream) => void): this;
on(event: 'transaction', listener: (tx: TransactionStream) => void): this;
on(event: 'peerStatusChange', listener: (status: PeerStatusStream) => void): this;
on(event: 'consensusPhase', listener: (phase: ConsensusStream) => void): this;
on(event: 'manifestReceived', listener: (manifest: ManifestResponse) => void): this;
on(event: 'path_find', listener: (path: PathFindStream) => void): this;
on(event: 'error', listener: (...err: any[]) => void): this;
requestAll(req: AccountChannelsRequest): Promise;
requestAll(req: AccountLinesRequest): Promise;
requestAll(req: AccountObjectsRequest): Promise;
requestAll(req: AccountOffersRequest): Promise;
requestAll(req: AccountTxRequest): Promise;
requestAll(req: BookOffersRequest): Promise;
requestAll(req: LedgerDataRequest): Promise;
connect(): Promise;
disconnect(): Promise;
isConnected(): boolean;
autofill: typeof autofill;
submit: typeof submit;
submitAndWait: typeof submitAndWait;
prepareTransaction: typeof autofill;
getXrpBalance: typeof getXrpBalance;
getBalances: typeof getBalances;
getOrderbook: typeof getOrderbook;
getLedgerIndex: typeof getLedgerIndex;
fundWallet: typeof fundWallet;
}
export { Client };
//# sourceMappingURL=index.d.ts.map