/**
 * @prettier
 */
import { BitGoBase } from '../bitgoBase';
import { ITradingAccount, SignPayloadParameters } from '../trading';
import { IWallet } from '../wallet';
import { TradingNetwork } from './network';
export declare class TradingAccount implements ITradingAccount {
    private readonly bitgo;
    private readonly enterpriseId;
    wallet: IWallet;
    readonly userKeySigningRequired: boolean;
    constructor(enterpriseId: string, wallet: IWallet, bitgo: BitGoBase);
    get id(): string;
    /**
     * Signs an arbitrary payload. Use the user key if passphrase/prv is provided, or the BitGo key if not.
     * @param params
     * @param params.payload arbitrary payload object (string | Record<string, unknown>)
     * @param params.walletPassphrase passphrase on this trading account, used to unlock the account user key
     * @param params.prv user private key, used to sign the payload locally
     * @returns hex-encoded signature of the payload
     */
    signPayload(params: SignPayloadParameters): Promise<string>;
    /**
     * Signs the payload of a trading account via the trading account BitGo key
     * @param params
     * @private
     */
    private signPayloadByBitGoKey;
    /**
     * Signs the payload of a trading account locally by fetching the user's encrypted private key and decrypt using passphrase
     * @param params
     * @private
     */
    private signPayloadByUserKey;
    /**
     * Get Trade Network
     * To enable Off Exchange Allocation & Settlement, contact support@bitgo.com.
     * BitGo provides a UI experience for clients at: https://app.bitgo.com/web/enterprises/<enterpriseId>/allocate
     */
    toNetwork(): TradingNetwork;
}
//# sourceMappingURL=tradingAccount.d.ts.map