import { Transport } from '../../../internal/interfaces/transport';
import { WithdrawalV1Req } from './model_withdrawal_v1_req';
import { GetWithdrawalHistoryByIdResp } from './model_get_withdrawal_history_by_id_resp';
import { CancelWithdrawalResp } from './model_cancel_withdrawal_resp';
import { WithdrawalV3Req } from './model_withdrawal_v3_req';
import { WithdrawalV3Resp } from './model_withdrawal_v3_resp';
import { GetWithdrawalQuotasReq } from './model_get_withdrawal_quotas_req';
import { WithdrawalV1Resp } from './model_withdrawal_v1_resp';
import { GetWithdrawalHistoryOldResp } from './model_get_withdrawal_history_old_resp';
import { GetWithdrawalQuotasResp } from './model_get_withdrawal_quotas_resp';
import { GetWithdrawalHistoryOldReq } from './model_get_withdrawal_history_old_req';
import { CancelWithdrawalReq } from './model_cancel_withdrawal_req';
import { GetWithdrawalHistoryByIdReq } from './model_get_withdrawal_history_by_id_req';
import { GetWithdrawalHistoryReq } from './model_get_withdrawal_history_req';
import { GetWithdrawalHistoryResp } from './model_get_withdrawal_history_resp';
export interface WithdrawalAPI {
    /**
     * getWithdrawalQuotas Get Withdrawal Quotas
     * Description: This interface can obtain the withdrawal quota information of this currency.
     * Documentation: https://www.kucoin.com/docs-new/api-3470143
     * +-----------------------+------------+
     * | Extra API Info        | Value      |
     * +-----------------------+------------+
     * | API-DOMAIN            | SPOT       |
     * | API-CHANNEL           | PRIVATE    |
     * | API-PERMISSION        | GENERAL    |
     * | API-RATE-LIMIT-POOL   | MANAGEMENT |
     * | API-RATE-LIMIT-WEIGHT | 20         |
     * +-----------------------+------------+
     */
    getWithdrawalQuotas(req: GetWithdrawalQuotasReq): Promise<GetWithdrawalQuotasResp>;
    /**
     * withdrawalV3 Withdraw (V3)
     * Description: Use this interface to withdraw the specified currency.
     * Documentation: https://www.kucoin.com/docs-new/api-3470146
     * +-----------------------+------------+
     * | Extra API Info        | Value      |
     * +-----------------------+------------+
     * | API-DOMAIN            | SPOT       |
     * | API-CHANNEL           | PRIVATE    |
     * | API-PERMISSION        | WITHDRAWAL |
     * | API-RATE-LIMIT-POOL   | MANAGEMENT |
     * | API-RATE-LIMIT-WEIGHT | 5          |
     * +-----------------------+------------+
     */
    withdrawalV3(req: WithdrawalV3Req): Promise<WithdrawalV3Resp>;
    /**
     * cancelWithdrawal Cancel Withdrawal
     * Description: This interface can cancel the withdrawal. Only withdrawal requests with PROCESSING status can be canceled.
     * Documentation: https://www.kucoin.com/docs-new/api-3470144
     * +-----------------------+------------+
     * | Extra API Info        | Value      |
     * +-----------------------+------------+
     * | API-DOMAIN            | SPOT       |
     * | API-CHANNEL           | PRIVATE    |
     * | API-PERMISSION        | WITHDRAWAL |
     * | API-RATE-LIMIT-POOL   | MANAGEMENT |
     * | API-RATE-LIMIT-WEIGHT | 20         |
     * +-----------------------+------------+
     */
    cancelWithdrawal(req: CancelWithdrawalReq): Promise<CancelWithdrawalResp>;
    /**
     * getWithdrawalHistory Get Withdrawal History
     * Description: Request a withdrawal list via this endpoint. Items are paginated and sorted to show the latest first. See the Pagination section for retrieving additional entries after the first page.
     * Documentation: https://www.kucoin.com/docs-new/api-3470145
     * +-----------------------+------------+
     * | Extra API Info        | Value      |
     * +-----------------------+------------+
     * | API-DOMAIN            | SPOT       |
     * | API-CHANNEL           | PRIVATE    |
     * | API-PERMISSION        | GENERAL    |
     * | API-RATE-LIMIT-POOL   | MANAGEMENT |
     * | API-RATE-LIMIT-WEIGHT | 20         |
     * +-----------------------+------------+
     */
    getWithdrawalHistory(req: GetWithdrawalHistoryReq): Promise<GetWithdrawalHistoryResp>;
    /**
     * getWithdrawalHistoryById Get Withdrawal History By ID
     * Description: Request a withdrawal history by id via this endpoint.
     * Documentation: https://www.kucoin.com/docs-new/api-3471890
     * +-----------------------+------------+
     * | Extra API Info        | Value      |
     * +-----------------------+------------+
     * | API-DOMAIN            | SPOT       |
     * | API-CHANNEL           | PRIVATE    |
     * | API-PERMISSION        | GENERAL    |
     * | API-RATE-LIMIT-POOL   | MANAGEMENT |
     * | API-RATE-LIMIT-WEIGHT | 20         |
     * +-----------------------+------------+
     */
    getWithdrawalHistoryById(req: GetWithdrawalHistoryByIdReq): Promise<GetWithdrawalHistoryByIdResp>;
    /**
     * @deprecated
     * getWithdrawalHistoryOld Get Withdrawal History - Old
     * Description: Request a deposit list via this endpoint. Items are paginated and sorted to show the latest first. See the Pagination section for retrieving additional entries after the first page.
     * Documentation: https://www.kucoin.com/docs-new/api-3470308
     * +-----------------------+------------+
     * | Extra API Info        | Value      |
     * +-----------------------+------------+
     * | API-DOMAIN            | SPOT       |
     * | API-CHANNEL           | PRIVATE    |
     * | API-PERMISSION        | GENERAL    |
     * | API-RATE-LIMIT-POOL   | MANAGEMENT |
     * | API-RATE-LIMIT-WEIGHT | 20         |
     * +-----------------------+------------+
     */
    getWithdrawalHistoryOld(req: GetWithdrawalHistoryOldReq): Promise<GetWithdrawalHistoryOldResp>;
    /**
     * @deprecated
     * withdrawalV1 Withdraw - V1
     * Description: Use this interface to withdraw the specified currency.
     * Documentation: https://www.kucoin.com/docs-new/api-3470310
     * +-----------------------+------------+
     * | Extra API Info        | Value      |
     * +-----------------------+------------+
     * | API-DOMAIN            | SPOT       |
     * | API-CHANNEL           | PRIVATE    |
     * | API-PERMISSION        | WITHDRAWAL |
     * | API-RATE-LIMIT-POOL   | MANAGEMENT |
     * | API-RATE-LIMIT-WEIGHT | 5          |
     * +-----------------------+------------+
     */
    withdrawalV1(req: WithdrawalV1Req): Promise<WithdrawalV1Resp>;
}
export declare class WithdrawalAPIImpl implements WithdrawalAPI {
    private transport;
    constructor(transport: Transport);
    getWithdrawalQuotas(req: GetWithdrawalQuotasReq): Promise<GetWithdrawalQuotasResp>;
    withdrawalV3(req: WithdrawalV3Req): Promise<WithdrawalV3Resp>;
    cancelWithdrawal(req: CancelWithdrawalReq): Promise<CancelWithdrawalResp>;
    getWithdrawalHistory(req: GetWithdrawalHistoryReq): Promise<GetWithdrawalHistoryResp>;
    getWithdrawalHistoryById(req: GetWithdrawalHistoryByIdReq): Promise<GetWithdrawalHistoryByIdResp>;
    getWithdrawalHistoryOld(req: GetWithdrawalHistoryOldReq): Promise<GetWithdrawalHistoryOldResp>;
    withdrawalV1(req: WithdrawalV1Req): Promise<WithdrawalV1Resp>;
}
