import { RobinhoodEarnings, RobinhoodOrder, RobinhoodOrdersOptions, RobinhoodUser, RobinhoodAccount, RobinhoodDividend, RobinhoodEarningsOptions, RobinhoodPosition, RobinhoodOrderOptions, RobinhoodFundamentals, RobinhoodPopularity, RobinhoodQuoteData, RobinhoodInvestmentProfile, RobinhoodInstrument, RobinhoodWatchlist, RobinhoodCryptoHolding, RobinhoodTransfer } from "./types.js";
export default class RobinhoodApi {
    private authToken;
    private headers;
    private refreshToken?;
    private account?;
    constructor(authToken: string);
    accounts(): Promise<RobinhoodAccount[]>;
    user(): Promise<RobinhoodUser>;
    dividends(): Promise<RobinhoodDividend[]>;
    transfers(): Promise<RobinhoodTransfer[]>;
    earnings(options: RobinhoodEarningsOptions): Promise<RobinhoodEarnings[]>;
    orders(options: RobinhoodOrdersOptions): Promise<RobinhoodOrder[]>;
    positions(): Promise<RobinhoodPosition[]>;
    nonzero_positions(): Promise<RobinhoodPosition[]>;
    crypto_holdings(): Promise<RobinhoodCryptoHolding[]>;
    place_buy_order(options: RobinhoodOrderOptions): Promise<RobinhoodOrder>;
    place_sell_order(options: RobinhoodOrderOptions): Promise<RobinhoodOrder>;
    _place_order(options: RobinhoodOrderOptions): Promise<RobinhoodOrder>;
    fundamentals(ticker: string): Promise<RobinhoodFundamentals>;
    popularity(symbol: string): Promise<RobinhoodPopularity>;
    quote_data(symbol: string): Promise<RobinhoodQuoteData[]>;
    investment_profile(): Promise<RobinhoodInvestmentProfile>;
    instruments_by_id(id: string): Promise<RobinhoodInstrument>;
    instruments(symbol: string): Promise<RobinhoodInstrument[]>;
    cancel_order(order: string | RobinhoodOrder): Promise<boolean>;
    watchlists(): Promise<RobinhoodWatchlist[]>;
    create_watch_list(name: string): Promise<RobinhoodWatchlist>;
    sp500_up(): Promise<any>;
    sp500_down(): Promise<any>;
    splits(instrument: string): Promise<any>;
    historicals(symbol: string, intv: string, span: string): Promise<any>;
    url(url: string): Promise<any>;
    news(symbol: string): Promise<any>;
    tag(tag: string): Promise<any>;
    get_currency_pairs(): Promise<any>;
    get_crypto(symbol: string): Promise<any>;
    options_positions(): Promise<any>;
    options_orders(): Promise<any>;
    options_dates(symbol: string): Promise<any>;
    options_available(chain_id: string, expiration_date: string, type?: string): Promise<any>;
    expire_token(): Promise<any>;
    set_account(): Promise<void>;
    refresh_token({ refreshToken, deviceToken, }: {
        refreshToken: string;
        deviceToken: string;
    }): Promise<any>;
    private _post;
    /**
     * Fetches data from the API.
     * @param url The URL to fetch the data from.
     * @param params The parameters to pass to the API.
     * @returns A promise that resolves to the data.
     */
    private _fetch;
    /**
     * Fetches a list of items from the API.
     * @param url The URL to fetch the list from.
     * @param params The parameters to pass to the API.
     * @param fetchMaxPages The maximum number of pages to fetch. If not provided, only the first page will be fetched.
     * @returns A promise that resolves to an array of items.
     */
    private _fetchList;
}
//# sourceMappingURL=api.d.ts.map