/// <reference types="node" />
import { Results } from "./Results";
export declare class CoinbasePrimeClient {
    readonly key: string;
    readonly passphrase: string;
    readonly signingKey: string;
    readonly urlBase: string;
    constructor(key: string, passphrase: string, signingKey: string, urlBase?: string);
    listPortfolios(): Promise<Results.PortfolioList>;
    listPortfolioBalances(portfolio_id: string): Promise<Results.ListBalances>;
    listPortfolioTransactions(portfolio_id: string, params?: Partial<{
        symbols: string;
        types: string[];
        start_time: string;
        end_time: string;
        cursor: string;
        limit: number;
        sort_direction: string;
    }>): Promise<Results.ListTransactions>;
    listPortfolioWallets(portfolio_id: string): Promise<Results.ListWallets>;
    listPortfolioOrders(portfolio_id: string, params?: Partial<{
        product_ids: string[];
        order_type: string;
        cursor: string;
        limit: string;
        sort_direction: string;
        start_date: string;
        order_side: string;
        end_date: string;
    }>): Promise<Results.ListOrders>;
    /**
     * Refer to https://docs.cdp.coinbase.com/prime/reference/primerestapi_getportfoliofills
     * @param portfolio_id
     * @param params
     */
    listPortfolioFills(portfolio_id: string, params?: Partial<{
        cursor: string;
        limit: number;
        start_date: string;
        end_date: string;
        sort_direction: "ASC" | "DESC";
    }>): Promise<Results.PortfolioFills>;
    request<T>(path: string, query?: any): Promise<T>;
    protected _cleanOptions(options: any): any;
    protected _createSigData(timestamp: number, method: string, path: string, body: string): string;
    protected _sign(data: string, key: string): Buffer;
}
