import BaseConnection from "./base";
/**
 * @description A Generic CSV Implementation of BaseConnection
 */
export default class CsvConnection extends BaseConnection {
    fileName: string;
    loadFileContents: (fileName: string) => Array<any>;
    rawTransactions: Array<any>;
    transactions: Array<any>;
    /**
     * @description Create CSV Connection instance
     * @param {string} name - Name of connection
     * @param {string} fileName - CVS file with transactions
     * @param {(fileName: string) => Array<any>} loadFileContents - Method used to load csv contents from filename
     */
    constructor(name: string, fileName: string, loadFileContents: (fileName: string) => Array<any>);
    /**
     * JSON object representing connection
     * @override BaseConnection.toJSON
     * @return {any}
     */
    toJSON(): any;
    /**
     * @description Format csv transactions
     * @return {void}
     */
    _formatTransactions(): void;
    /**
     * @description Format csv orders
     * @return {void}
     */
    _formatOrders(): void;
    /**
     * @description Download csv for storage bucket
     * @override BaseConnection.initialize
     * @param {boolean} forceReload - (Optional) Additional paramaters
     * @return {Promise<void>}
     */
    initialize(forceReload?: boolean): Promise<void>;
    /**
     * @description Filter csv connection transactions for withdrawals
     * @override BaseConnection.getWithdrawals
     * @param {string} key - Withdrawal key (default="send")
     * @return {Promise<Array<any>>} Array of withdrawal objects
     */
    getWithdrawals(key?: string): Promise<Array<any>>;
    /**
     * @description Filter csv connection transactions for deposits
     * @override BaseConnection.getDeposits
     * @param {string} key - Withdrawal key (default="receive")
     * @return {Promise<Array<any>>} Array of deposit objects
     */
    getDeposits(key?: string): Promise<Array<any>>;
    /**
     * @description Filter csv connection transactions for buys and sells
     * @override BaseConnection.getOrders
     * @param {Array<string>} keys - Order keys (default=["buy", "sell", "swap"])
     * @return {Promise<Array<any>>} Array of order objects
     */
    getOrders(keys?: Array<string>): Promise<Array<any>>;
    /**
     * @description Get csv connection transactions (withdrawals, deposits, and orders)
     * @override BaseConnection.getTransactions
     * @return {Promise<Array<any>>} Array of withdrawal objects
     */
    getTransactions(): Promise<Array<any>>;
    /**
     * @description Get all csv connection transactions (withdrawals, deposits, and interest)
     * @override BaseConnection.getAllTransactions
     * @return {Promise<Array<any>>} Array of transaction objects
     */
    getAllTransactions(): Promise<Array<any>>;
}
