import { Transport } from '../../../internal/interfaces/transport';
import { GetCrossMarginRiskLimitReq } from './model_get_cross_margin_risk_limit_req';
import { RemoveIsolatedMarginReq } from './model_remove_isolated_margin_req';
import { AddIsolatedMarginReq } from './model_add_isolated_margin_req';
import { ModifyAutoDepositStatusReq } from './model_modify_auto_deposit_status_req';
import { GetMaxOpenSizeReq } from './model_get_max_open_size_req';
import { GetMaxWithdrawMarginResp } from './model_get_max_withdraw_margin_resp';
import { AddIsolatedMarginResp } from './model_add_isolated_margin_resp';
import { GetCrossMarginLeverageResp } from './model_get_cross_margin_leverage_resp';
import { GetMarginModeReq } from './model_get_margin_mode_req';
import { SwitchMarginModeResp } from './model_switch_margin_mode_resp';
import { GetPositionsHistoryResp } from './model_get_positions_history_resp';
import { GetCrossMarginRiskLimitResp } from './model_get_cross_margin_risk_limit_resp';
import { GetPositionListReq } from './model_get_position_list_req';
import { GetIsolatedMarginRiskLimitReq } from './model_get_isolated_margin_risk_limit_req';
import { GetIsolatedMarginRiskLimitResp } from './model_get_isolated_margin_risk_limit_resp';
import { GetCrossMarginLeverageReq } from './model_get_cross_margin_leverage_req';
import { GetMarginModeResp } from './model_get_margin_mode_resp';
import { BatchSwitchMarginModeReq } from './model_batch_switch_margin_mode_req';
import { ModifyMarginLeverageReq } from './model_modify_margin_leverage_req';
import { RemoveIsolatedMarginResp } from './model_remove_isolated_margin_resp';
import { ModifyMarginLeverageResp } from './model_modify_margin_leverage_resp';
import { GetPositionDetailsReq } from './model_get_position_details_req';
import { ModifyAutoDepositStatusResp } from './model_modify_auto_deposit_status_resp';
import { BatchSwitchMarginModeResp } from './model_batch_switch_margin_mode_resp';
import { SwitchMarginModeReq } from './model_switch_margin_mode_req';
import { GetPositionListResp } from './model_get_position_list_resp';
import { GetMaxOpenSizeResp } from './model_get_max_open_size_resp';
import { GetPositionDetailsResp } from './model_get_position_details_resp';
import { ModifyIsolatedMarginRiskLimtResp } from './model_modify_isolated_margin_risk_limt_resp';
import { ModifyIsolatedMarginRiskLimtReq } from './model_modify_isolated_margin_risk_limt_req';
import { GetPositionsHistoryReq } from './model_get_positions_history_req';
import { GetMaxWithdrawMarginReq } from './model_get_max_withdraw_margin_req';
export interface PositionsAPI {
    /**
     * getMarginMode Get Margin Mode
     * Description: This interface can query the margin mode of the current symbol.
     * Documentation: https://www.kucoin.com/docs-new/api-3470259
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getMarginMode(req: GetMarginModeReq): Promise<GetMarginModeResp>;
    /**
     * switchMarginMode Switch Margin Mode
     * Description: This interface can modify the margin mode of the current symbol.
     * Documentation: https://www.kucoin.com/docs-new/api-3470262
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    switchMarginMode(req: SwitchMarginModeReq): Promise<SwitchMarginModeResp>;
    /**
     * batchSwitchMarginMode Batch Switch Margin Mode
     * Description: Batch modify the margin mode of the symbols.
     * Documentation: https://www.kucoin.com/docs-new/api-3472403
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    batchSwitchMarginMode(req: BatchSwitchMarginModeReq): Promise<BatchSwitchMarginModeResp>;
    /**
     * getMaxOpenSize Get Max Open Size
     * Description: Get Maximum Open Position Size.
     * Documentation: https://www.kucoin.com/docs-new/api-3470251
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getMaxOpenSize(req: GetMaxOpenSizeReq): Promise<GetMaxOpenSizeResp>;
    /**
     * getPositionDetails Get Position Details
     * Description: Get the position details of a specified position.
     * Documentation: https://www.kucoin.com/docs-new/api-3470252
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getPositionDetails(req: GetPositionDetailsReq): Promise<GetPositionDetailsResp>;
    /**
     * getPositionList Get Position List
     * Description: Get the position details of a specified position.
     * Documentation: https://www.kucoin.com/docs-new/api-3470253
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getPositionList(req: GetPositionListReq): Promise<GetPositionListResp>;
    /**
     * getPositionsHistory Get Positions History
     * Description: This interface can query position history information records.
     * Documentation: https://www.kucoin.com/docs-new/api-3470254
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getPositionsHistory(req: GetPositionsHistoryReq): Promise<GetPositionsHistoryResp>;
    /**
     * getMaxWithdrawMargin Get Max Withdraw Margin
     * Description: This interface can query the maximum amount of margin that the current position supports withdrawal.
     * Documentation: https://www.kucoin.com/docs-new/api-3470258
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 10      |
     * +-----------------------+---------+
     */
    getMaxWithdrawMargin(req: GetMaxWithdrawMarginReq): Promise<GetMaxWithdrawMarginResp>;
    /**
     * getCrossMarginLeverage Get Cross Margin Leverage
     * Description: This interface can query the current symbol’s cross-margin leverage multiple.
     * Documentation: https://www.kucoin.com/docs-new/api-3470260
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getCrossMarginLeverage(req: GetCrossMarginLeverageReq): Promise<GetCrossMarginLeverageResp>;
    /**
     * modifyMarginLeverage Modify Cross Margin Leverage
     * Description: This interface can modify the current symbol’s cross-margin leverage multiple.
     * Documentation: https://www.kucoin.com/docs-new/api-3470261
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    modifyMarginLeverage(req: ModifyMarginLeverageReq): Promise<ModifyMarginLeverageResp>;
    /**
     * addIsolatedMargin Add Isolated Margin
     * Description: Add Isolated Margin Manually.
     * Documentation: https://www.kucoin.com/docs-new/api-3470257
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 4       |
     * +-----------------------+---------+
     */
    addIsolatedMargin(req: AddIsolatedMarginReq): Promise<AddIsolatedMarginResp>;
    /**
     * removeIsolatedMargin Remove Isolated Margin
     * Description: Remove Isolated Margin Manually.
     * Documentation: https://www.kucoin.com/docs-new/api-3470256
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 10      |
     * +-----------------------+---------+
     */
    removeIsolatedMargin(req: RemoveIsolatedMarginReq): Promise<RemoveIsolatedMarginResp>;
    /**
     * getCrossMarginRiskLimit Get Cross Margin Risk Limit
     * Description: Batch get cross margin risk limit.
     * Documentation: https://www.kucoin.com/docs-new/api-3472655
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 2       |
     * +-----------------------+---------+
     */
    getCrossMarginRiskLimit(req: GetCrossMarginRiskLimitReq): Promise<GetCrossMarginRiskLimitResp>;
    /**
     * getIsolatedMarginRiskLimit Get Isolated Margin Risk Limit
     * Description: This interface can be used to obtain information about risk limit level of a specific contract (only valid for Isolated Margin).
     * Documentation: https://www.kucoin.com/docs-new/api-3470263
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | NULL    |
     * | API-RATE-LIMIT-POOL   | PUBLIC  |
     * | API-RATE-LIMIT-WEIGHT | 5       |
     * +-----------------------+---------+
     */
    getIsolatedMarginRiskLimit(req: GetIsolatedMarginRiskLimitReq): Promise<GetIsolatedMarginRiskLimitResp>;
    /**
     * modifyIsolatedMarginRiskLimt Modify Isolated Margin Risk Limit
     * Description: This interface can be used to obtain information about risk limit level of a specific contract (only valid for Isolated Margin).
     * Documentation: https://www.kucoin.com/docs-new/api-3470264
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 5       |
     * +-----------------------+---------+
     */
    modifyIsolatedMarginRiskLimt(req: ModifyIsolatedMarginRiskLimtReq): Promise<ModifyIsolatedMarginRiskLimtResp>;
    /**
     * @deprecated
     * modifyAutoDepositStatus Modify Isolated Margin Auto-Deposit Status
     * Description: This endpoint is only applicable to isolated margin and is no longer recommended. It is recommended to use cross margin instead.
     * Documentation: https://www.kucoin.com/docs-new/api-3470255
     * +-----------------------+---------+
     * | Extra API Info        | Value   |
     * +-----------------------+---------+
     * | API-DOMAIN            | FUTURES |
     * | API-CHANNEL           | PRIVATE |
     * | API-PERMISSION        | FUTURES |
     * | API-RATE-LIMIT-POOL   | FUTURES |
     * | API-RATE-LIMIT-WEIGHT | 4       |
     * +-----------------------+---------+
     */
    modifyAutoDepositStatus(req: ModifyAutoDepositStatusReq): Promise<ModifyAutoDepositStatusResp>;
}
export declare class PositionsAPIImpl implements PositionsAPI {
    private transport;
    constructor(transport: Transport);
    getMarginMode(req: GetMarginModeReq): Promise<GetMarginModeResp>;
    switchMarginMode(req: SwitchMarginModeReq): Promise<SwitchMarginModeResp>;
    batchSwitchMarginMode(req: BatchSwitchMarginModeReq): Promise<BatchSwitchMarginModeResp>;
    getMaxOpenSize(req: GetMaxOpenSizeReq): Promise<GetMaxOpenSizeResp>;
    getPositionDetails(req: GetPositionDetailsReq): Promise<GetPositionDetailsResp>;
    getPositionList(req: GetPositionListReq): Promise<GetPositionListResp>;
    getPositionsHistory(req: GetPositionsHistoryReq): Promise<GetPositionsHistoryResp>;
    getMaxWithdrawMargin(req: GetMaxWithdrawMarginReq): Promise<GetMaxWithdrawMarginResp>;
    getCrossMarginLeverage(req: GetCrossMarginLeverageReq): Promise<GetCrossMarginLeverageResp>;
    modifyMarginLeverage(req: ModifyMarginLeverageReq): Promise<ModifyMarginLeverageResp>;
    addIsolatedMargin(req: AddIsolatedMarginReq): Promise<AddIsolatedMarginResp>;
    removeIsolatedMargin(req: RemoveIsolatedMarginReq): Promise<RemoveIsolatedMarginResp>;
    getCrossMarginRiskLimit(req: GetCrossMarginRiskLimitReq): Promise<GetCrossMarginRiskLimitResp>;
    getIsolatedMarginRiskLimit(req: GetIsolatedMarginRiskLimitReq): Promise<GetIsolatedMarginRiskLimitResp>;
    modifyIsolatedMarginRiskLimt(req: ModifyIsolatedMarginRiskLimtReq): Promise<ModifyIsolatedMarginRiskLimtResp>;
    modifyAutoDepositStatus(req: ModifyAutoDepositStatusReq): Promise<ModifyAutoDepositStatusResp>;
}
