/// <reference types="node" />
import { Pagination } from "./Options";
import { Results } from "./Results";
export declare class CoinbaseClient {
    readonly key: string;
    readonly keysecret: string;
    readonly urlbase: string;
    readonly version: string;
    constructor(key: string, keysecret: string, urlbase?: string, version?: string);
    getCurrentUser(): Promise<Results.SingleResult<Results.User>>;
    getUser(userid: string): Promise<Results.SingleResult<Results.User>>;
    getAccounts(options?: Pagination): Promise<Results.PagedResult<Results.Account>>;
    getAccount(accountid: string): Promise<Results.SingleResult<Results.Account>>;
    getAddresses(accountid: string, options?: Pagination): Promise<Results.PagedResult<Results.Address>>;
    getAddress(accountid: string, address: string): Promise<Results.SingleResult<Results.Address>>;
    getTransactions(accountid: string, options?: Pagination): Promise<Results.PagedResult<Results.Transaction>>;
    getTransaction(accountid: string, transactionId: string): Promise<Results.SingleResult<Results.Transaction>>;
    candles(marketId: string, start: string, end: string, granularity: number): Promise<number[][]>;
    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;
}
