import { BitGoBase } from '../../bitgoBase';
import { IWallet } from '../../wallet';
import { CreateNetworkAllocationParams, CreateNetworkAllocationResponse, CreateNetworkConnectionParams, CreateNetworkConnectionResponse, CreateNetworkDeallocationParams, CreateNetworkDeallocationResponse, GetNetworkAllocationByIdParams, GetNetworkAllocationByIdResponse, GetNetworkAllocationsParams, GetNetworkAllocationsResponse, GetNetworkBalancesParams, GetNetworkBalancesResponse, GetNetworkConnectionByIdParams, GetNetworkConnectionByIdResponse, GetNetworkConnectionsParams, GetNetworkConnectionsResponse, GetNetworkPartnersParams, GetNetworkPartnersResponse, GetNetworkSettlementByIdParams, GetNetworkSettlementByIdResponse, GetNetworkSettlementTransfersParams, GetNetworkSettlementTransfersResponse, GetNetworkSettlementsParams, GetNetworkSettlementsResponse, GetNetworkSupportedCurrenciesParams, GetNetworkSupportedCurrenciesResponse, ITradingNetwork, PrepareNetworkAllocationParams, UpdateNetworkConnectionParams, UpdateNetworkConnectionResponse } from './types';
export declare class TradingNetwork implements ITradingNetwork {
    private readonly bitgo;
    private readonly enterpriseId;
    wallet: IWallet;
    constructor(enterpriseId: string, wallet: IWallet, bitgo: BitGoBase);
    getBalances(params?: GetNetworkBalancesParams): Promise<GetNetworkBalancesResponse>;
    getPartners(params?: GetNetworkPartnersParams): Promise<GetNetworkPartnersResponse>;
    getSupportedCurrencies(params: GetNetworkSupportedCurrenciesParams): Promise<GetNetworkSupportedCurrenciesResponse>;
    getConnections(params?: GetNetworkConnectionsParams): Promise<GetNetworkConnectionsResponse>;
    getConnectionById({ connectionId, ...params }: GetNetworkConnectionByIdParams): Promise<GetNetworkConnectionByIdResponse>;
    createConnection(params: CreateNetworkConnectionParams): Promise<CreateNetworkConnectionResponse>;
    updateConnection({ connectionId, ...params }: UpdateNetworkConnectionParams): Promise<UpdateNetworkConnectionResponse>;
    getAllocations(params?: GetNetworkAllocationsParams): Promise<GetNetworkAllocationsResponse>;
    getAllocationById({ allocationId, ...params }: GetNetworkAllocationByIdParams): Promise<GetNetworkAllocationByIdResponse>;
    /**
     * Prepare an allocation for submission
     * @param {string} walletPassphrase ofc wallet passphrase - required only when signing via user key
     * @param {string} connectionId connection to whom to make the allocation or deallocation
     * @param {string=} clientExternalId one time generated uuid v4
     * @param {string} currency currency for which the allocation should be made. e.g. btc / tbtc
     * @param {string} quantity base amount. e.g. 10000000 (1 BTC)
     * @param {string} notes Private note that you can view and edit
     * @param {string=} nonce one time generated string .e.g. crypto.randomBytes(32).toString('hex')
     * @returns
     */
    prepareAllocation({ walletPassphrase, ...body }: PrepareNetworkAllocationParams): Promise<CreateNetworkAllocationParams>;
    createAllocation({ connectionId, ...params }: CreateNetworkAllocationParams): Promise<CreateNetworkAllocationResponse>;
    createDeallocation({ connectionId, ...params }: CreateNetworkDeallocationParams): Promise<CreateNetworkDeallocationResponse>;
    getSettlements(params?: GetNetworkSettlementsParams): Promise<GetNetworkSettlementsResponse>;
    getSettlementById({ settlementId, ...params }: GetNetworkSettlementByIdParams): Promise<GetNetworkSettlementByIdResponse>;
    getSettlementTransfers(params?: GetNetworkSettlementTransfersParams): Promise<GetNetworkSettlementTransfersResponse>;
}
//# sourceMappingURL=network.d.ts.map