import { CcxtConnection, Transaction } from "../target.types";
/**
 * A Coinbase Implementation of ccxtConnection
 * @todo Properly parse ledger transaction and merge them with others
 */
export default class Coinbase extends CcxtConnection {
    accounts: any;
    /**
     * @description Create Coinbase instance
     * @param {any} creds - API creds of exchange
     */
    constructor(creds: any);
    /**
     * @description Get corresponding coinbase account ID from symbol
     * @param {string} symbol - Currency symbol
     * @return {string}  Account ID
     */
    _getAccountIdFromSymbol(symbol: string): string;
    /**
     * @description Format orders
     * @param {any} entry - Unformatted coinbase transaction
     * @param {string} type - Type of transaction
     * @return {Transaction} Formatted transaction
     */
    _formatLedgerEntry(entry: any, type: string): Transaction;
    /**
     * @description Initialize coinbase and get active accounts
     * @override ccxtConnection.initialize
     * @param {boolean} forceReload - (Optional) Additional paramaters
     * @return {Promise<void>}
     */
    initialize(forceReload?: boolean): Promise<void>;
    /**
     * @description Fetch all account transactions (withdrawals, deposits, and orders)
     * @todo Paginate requests rather than just set max limit of 100
     * @override ccxtConnection.getLedger
     * @param {string} symbol Currency symbol
     * @param {number} since (Optional) Timestamp to get transactions since
     * @param {number} limit (Optional) Max number of entries per request
     * @return {Promise<any>} Array of withdrawal objects
     */
    getLedger(symbol?: string, since?: number, limit?: number): Promise<any>;
    /**
     * @description Fetch Coinbase Orders
     * @override ccxtConnection.getOrders
     * @param {string} symbol Currency symbol
     * @param {number} since (Optional) Timestamp to get transactions since
     * @return {Array<any>} Array of order objects
     */
    getOrders(symbol: string, since?: number): Promise<Array<any>>;
    /**
     * @description Fetch Fetch Coinbase transactions
     * @override ccxtConnection.getTransactions
     * @param {string} symbol Currency symbol
     * @param {number} since (Optional) Timestamp to get transactions since
     * @return {any} Transactions object
     */
    getTransactions(symbol: string, since?: number): Promise<any>;
}
